From 15ea475b40f6ad28d46e5cbd65a1ccc8556a53df Mon Sep 17 00:00:00 2001 From: Eskil Abrahamsen Blomfeldt Date: Thu, 16 Jan 2020 10:21:58 +0100 Subject: Make FontLoader.name read-only Being able to set the name of a FontLoader seems to have been made to allow for some alternative coding patterns, but it doesn't really provide any convenience over other ways of customizing font names, and it definitely adds confusion for users, as well as as a possible race condition if both the source and name of the same FontLoader is set at unpredictable times. [ChangeLog][QtQuick] FontLoader.name property has been made read-only to reduce confusion about its use and precedence over conflicting properties. Fixes: QTBUG-80031 Change-Id: I0dd0e76ff376402c0b458ed7e5c57ec017bbc92d Reviewed-by: Lars Knoll --- tests/auto/qmltest/fontloader/daniel.ttf | Bin 0 -> 51984 bytes tests/auto/qmltest/fontloader/tst_fontloader.qml | 9 ++------- 2 files changed, 2 insertions(+), 7 deletions(-) create mode 100644 tests/auto/qmltest/fontloader/daniel.ttf (limited to 'tests/auto/qmltest') diff --git a/tests/auto/qmltest/fontloader/daniel.ttf b/tests/auto/qmltest/fontloader/daniel.ttf new file mode 100644 index 0000000000..aae50d5035 Binary files /dev/null and b/tests/auto/qmltest/fontloader/daniel.ttf differ diff --git a/tests/auto/qmltest/fontloader/tst_fontloader.qml b/tests/auto/qmltest/fontloader/tst_fontloader.qml index 0d1831230e..48b92e02ba 100644 --- a/tests/auto/qmltest/fontloader/tst_fontloader.qml +++ b/tests/auto/qmltest/fontloader/tst_fontloader.qml @@ -81,10 +81,6 @@ Item { fontloader.source = "dummy.ttf"; tryCompare(fontloader, 'status', FontLoader.Error) compare(testinput.font.family, "") - fontloader.source = ""; - fontloader.name = "Courier"; - tryCompare(fontloader, 'status', FontLoader.Ready) - compare(testinput.font.family, "Courier") } function test_fontswitching() { @@ -92,10 +88,9 @@ Item { fontswitch.source = "tarzeau_ocr_a.ttf"; tryCompare(fontswitch, 'status', FontLoader.Ready) compare(fontswitch.name, "OCRA") - fontswitch.source = ""; - fontswitch.name = "Courier"; + fontswitch.source = "daniel.ttf"; tryCompare(fontswitch, 'status', FontLoader.Ready) - compare(fontswitch.name, "Courier") + compare(fontswitch.name, "Daniel") fontswitch.source = "tarzeau_ocr_a.ttf"; tryCompare(fontswitch, 'status', FontLoader.Ready) compare(fontswitch.name, "OCRA") -- cgit v1.2.3 From e8c33f9c98bcb0855fb837f967c2ef37773be93e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Tor=20Arne=20Vestb=C3=B8?= Date: Wed, 22 Jan 2020 13:04:53 +0100 Subject: Flatten version-specific blacklisting on macOS to all macOS versions MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit We don't know which versions these blacklistings actually apply on unless we actually get macOS 10.14 and 10.15 into the CI and running tests, so let's start with that, and then granularize the blacklists after that. Task-number: QTBUG-75786 Change-Id: I166f845ae3701b1ff528a0c5bfe5fd23c018483e Reviewed-by: Morten Johan Sørvig --- tests/auto/qmltest/animatedimage/BLACKLIST | 2 +- tests/auto/qmltest/textedit/BLACKLIST | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) (limited to 'tests/auto/qmltest') diff --git a/tests/auto/qmltest/animatedimage/BLACKLIST b/tests/auto/qmltest/animatedimage/BLACKLIST index 3a5ed393ea..25eb7a7cff 100644 --- a/tests/auto/qmltest/animatedimage/BLACKLIST +++ b/tests/auto/qmltest/animatedimage/BLACKLIST @@ -1,2 +1,2 @@ [AnimatedImage::test_crashRaceCondition_replyFinished] -osx-10.13 +macos diff --git a/tests/auto/qmltest/textedit/BLACKLIST b/tests/auto/qmltest/textedit/BLACKLIST index e06cba3e8f..ac1ca6d8cf 100644 --- a/tests/auto/qmltest/textedit/BLACKLIST +++ b/tests/auto/qmltest/textedit/BLACKLIST @@ -1,6 +1,6 @@ # Blacklist for testing [TextEdit::test_textentry] -osx-10.12 +macos [TextEdit::test_textentry_char] -osx-10.12 +macos -- cgit v1.2.3 From 6dce8c470ca9711fc874b32519cefdcca40f149f Mon Sep 17 00:00:00 2001 From: Joni Poikelin Date: Fri, 27 Dec 2019 11:12:23 +0200 Subject: Add support to match against QObject properties in DelegateChooser Views could use an array of QObject instances as a model, as an alterative to a QAIM subclass; but DelegateChooser only supported querying the value based on the model role name. Now a QObject property name can also be used as roleValue. [ChangeLog][QtQuick][Item Views] DelegateChooser now supports using a property name as roleValue when an array of QObject instances is used as the model for a view. Fixes: QTBUG-81580 Change-Id: I3e5b57ce0456520667e342741efbe46417f0843c Reviewed-by: Shawn Rutledge Reviewed-by: Ulf Hermann --- .../auto/qmltest/listview/data/MultiDelegate3.qml | 97 ++++++++++++++++++++++ tests/auto/qmltest/listview/tst_listview.qml | 17 ++++ 2 files changed, 114 insertions(+) create mode 100644 tests/auto/qmltest/listview/data/MultiDelegate3.qml (limited to 'tests/auto/qmltest') diff --git a/tests/auto/qmltest/listview/data/MultiDelegate3.qml b/tests/auto/qmltest/listview/data/MultiDelegate3.qml new file mode 100644 index 0000000000..75116e0f9b --- /dev/null +++ b/tests/auto/qmltest/listview/data/MultiDelegate3.qml @@ -0,0 +1,97 @@ +/**************************************************************************** +** +** Copyright (C) 2020 The Qt Company Ltd. +** Contact: https://www.qt.io/licensing/ +** +** This file is part of the test suite of the Qt Toolkit. +** +** $QT_BEGIN_LICENSE:BSD$ +** Commercial License Usage +** Licensees holding valid commercial Qt licenses may use this file in +** accordance with the commercial license agreement provided with the +** Software or, alternatively, in accordance with the terms contained in +** a written agreement between you and The Qt Company. For licensing terms +** and conditions see https://www.qt.io/terms-conditions. For further +** information use the contact form at https://www.qt.io/contact-us. +** +** BSD License Usage +** Alternatively, you may use this file under the terms of the BSD license +** as follows: +** +** "Redistribution and use in source and binary forms, with or without +** modification, are permitted provided that the following conditions are +** met: +** * Redistributions of source code must retain the above copyright +** notice, this list of conditions and the following disclaimer. +** * Redistributions in binary form must reproduce the above copyright +** notice, this list of conditions and the following disclaimer in +** the documentation and/or other materials provided with the +** distribution. +** * Neither the name of The Qt Company Ltd nor the names of its +** contributors may be used to endorse or promote products derived +** from this software without specific prior written permission. +** +** +** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE." +** +** $QT_END_LICENSE$ +** +****************************************************************************/ + +import QtQuick 2.12 +import QtQml.Models 2.12 +import Qt.labs.qmlmodels 1.0 + +ListView { + width: 400 + height: 400 + + property var item1: QtObject { + property string dataType: "rect" + property color color: "red" + } + property var item2: QtObject { + property string dataType: "text" + property string text: "Hello world" + } + model: [ item1, item2 ] + + delegate: DelegateChooser { + role: "dataType" + DelegateChoice { + roleValue: "rect" + delegate: Rectangle { + width: parent.width + height: 50 + color: modelData.color + } + } + DelegateChoice { + roleValue: "text" + delegate: Text { + width: parent.width + height: 50 + horizontalAlignment: Text.AlignHCenter + verticalAlignment: Text.AlignVCenter + text: modelData.text + } + } + + DelegateChoice { + delegate: Item { + width: parent.width + height: 50 + } + } + } +} diff --git a/tests/auto/qmltest/listview/tst_listview.qml b/tests/auto/qmltest/listview/tst_listview.qml index 5e9bb22e8e..bea6b45c3a 100644 --- a/tests/auto/qmltest/listview/tst_listview.qml +++ b/tests/auto/qmltest/listview/tst_listview.qml @@ -213,6 +213,10 @@ Item { id: multiDelegate2 } + MultiDelegate3 { + id: multiDelegate3 + } + TestCase { name: "ListView" when: windowShown @@ -414,5 +418,18 @@ Item { var delegate = multiDelegate2.itemAt(10, row.y) compare(delegate.choiceType, row.type) } + + function test_multipleDelegates3_data() { + return [ + { y: 25, type: "Rectangle", property: "color", value: "#ff0000" }, + { y: 75, type: "Text", property: "text", value: "Hello world" } + ] + } + + function test_multipleDelegates3(row) { + var delegate = multiDelegate3.itemAt(10, row.y) + verify(delegate.toString().includes(row.type)) + compare(delegate[row.property], row.value) + } } } -- cgit v1.2.3