diff options
author | Liang Qi <liang.qi@qt.io> | 2017-10-05 20:39:42 +0200 |
---|---|---|
committer | Liang Qi <liang.qi@qt.io> | 2017-10-05 20:39:42 +0200 |
commit | 850f5868b7eef9746c49570ed4c8bfb2c5177ecc (patch) | |
tree | 91de4ddc14c65e946b2a87b33a5596a95d4c89ec /tests/manual/testbench | |
parent | eb1b76053f2c6f35f8a33bec71536ca24651a711 (diff) | |
parent | 0bd5c342013bfae63f1a7e13a0f531cb0a2c8581 (diff) |
Merge remote-tracking branch 'origin/5.10' into dev
Change-Id: I59e9e2044184f96f1e66577f6f639d028a825b9e
Diffstat (limited to 'tests/manual/testbench')
-rw-r--r-- | tests/manual/testbench/assetfixer.cpp | 1 | ||||
-rw-r--r-- | tests/manual/testbench/controls/CheckDelegate.qml | 2 | ||||
-rw-r--r-- | tests/manual/testbench/controls/Dialog.qml | 6 | ||||
-rw-r--r-- | tests/manual/testbench/controls/ItemDelegate.qml | 2 | ||||
-rw-r--r-- | tests/manual/testbench/controls/MenuBar.qml | 79 | ||||
-rw-r--r-- | tests/manual/testbench/controls/RadioDelegate.qml | 2 | ||||
-rw-r--r-- | tests/manual/testbench/controls/ScrollBar.qml | 2 | ||||
-rw-r--r-- | tests/manual/testbench/controls/ScrollIndicator.qml | 2 | ||||
-rw-r--r-- | tests/manual/testbench/controls/SpinBox.qml | 8 | ||||
-rw-r--r-- | tests/manual/testbench/controls/SwipeDelegate.qml | 2 | ||||
-rw-r--r-- | tests/manual/testbench/controls/Switch.qml | 2 | ||||
-rw-r--r-- | tests/manual/testbench/controls/SwitchDelegate.qml | 2 | ||||
-rw-r--r-- | tests/manual/testbench/controls/TextArea.qml | 14 | ||||
-rw-r--r-- | tests/manual/testbench/controls/TextField.qml | 15 | ||||
-rw-r--r-- | tests/manual/testbench/qml.qrc | 1 | ||||
-rw-r--r-- | tests/manual/testbench/testbench.qml | 35 |
16 files changed, 156 insertions, 19 deletions
diff --git a/tests/manual/testbench/assetfixer.cpp b/tests/manual/testbench/assetfixer.cpp index 21a67573..1f914e71 100644 --- a/tests/manual/testbench/assetfixer.cpp +++ b/tests/manual/testbench/assetfixer.cpp @@ -515,6 +515,7 @@ void AssetFixer::clearImageCache() // We can't seem to disable image caching on a per-Image basis (by the time the QQuickImages // are available, the cache has already been filled), so we call this instead. + qCDebug(lcAssetFixer) << "Calling QQuickWindow::releaseResources() to clear pixmap cache"; window->releaseResources(); } diff --git a/tests/manual/testbench/controls/CheckDelegate.qml b/tests/manual/testbench/controls/CheckDelegate.qml index fc6ce6eb..b742b170 100644 --- a/tests/manual/testbench/controls/CheckDelegate.qml +++ b/tests/manual/testbench/controls/CheckDelegate.qml @@ -70,6 +70,7 @@ QtObject { checkState: is("checked") ? Qt.Checked : is("partially-checked") ? Qt.PartiallyChecked : Qt.Unchecked // Only set it if it's pressed, or the non-pressed examples will have no press effects down: is("pressed") ? true : undefined + focusPolicy: Qt.StrongFocus } property Component exampleComponent: ListView { @@ -80,6 +81,7 @@ QtObject { delegate: CheckDelegate { width: parent.width text: "CheckDelegate" + focusPolicy: Qt.StrongFocus } } } diff --git a/tests/manual/testbench/controls/Dialog.qml b/tests/manual/testbench/controls/Dialog.qml index b05ef1e3..c550cdae 100644 --- a/tests/manual/testbench/controls/Dialog.qml +++ b/tests/manual/testbench/controls/Dialog.qml @@ -57,7 +57,9 @@ QtObject { property string customControlName: qsTr("Dialog") property var supportedStates: [ - [] + [], + ["modal"], + ["dim"] ] property Component component: Button { @@ -73,6 +75,8 @@ QtObject { y: (window.height - height) / 2 standardButtons: Dialog.Ok | Dialog.Cancel parent: window.contentItem + modal: is("modal") + dim: is("dim") Label { text: "Lorem ipsum dolor sit amet, \nconsectetuer adipiscing elit, \n" diff --git a/tests/manual/testbench/controls/ItemDelegate.qml b/tests/manual/testbench/controls/ItemDelegate.qml index 98f13556..44882df9 100644 --- a/tests/manual/testbench/controls/ItemDelegate.qml +++ b/tests/manual/testbench/controls/ItemDelegate.qml @@ -67,6 +67,7 @@ QtObject { // Only set it if it's pressed, or the non-pressed examples will have no press effects down: is("pressed") ? true : undefined highlighted: is("highlighted") + focusPolicy: Qt.StrongFocus } property Component exampleComponent: ListView { @@ -77,6 +78,7 @@ QtObject { delegate: ItemDelegate { width: parent.width text: "ItemDelegate" + focusPolicy: Qt.StrongFocus } } } diff --git a/tests/manual/testbench/controls/MenuBar.qml b/tests/manual/testbench/controls/MenuBar.qml new file mode 100644 index 00000000..00db9af1 --- /dev/null +++ b/tests/manual/testbench/controls/MenuBar.qml @@ -0,0 +1,79 @@ +/**************************************************************************** +** +** Copyright (C) 2017 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.10 +import QtQuick.Controls 2.3 + +// TODO +QtObject { + property string customControlName: qsTr("MenuBar & MenuBarItem") + + property var supportedStates: [ + [] + ] + + property Component component: MenuBar { + MenuBarItem { + text: qsTr("Normal") + } + MenuBarItem { + text: qsTr("Pressed") + down: true + } + MenuBarItem { + text: qsTr("Highlighted") + highlighted: true + } + MenuBarItem { + text: qsTr("Disabled") + enabled: false + } + } +} diff --git a/tests/manual/testbench/controls/RadioDelegate.qml b/tests/manual/testbench/controls/RadioDelegate.qml index cb1f6139..fcae84f7 100644 --- a/tests/manual/testbench/controls/RadioDelegate.qml +++ b/tests/manual/testbench/controls/RadioDelegate.qml @@ -68,6 +68,7 @@ QtObject { checked: is("checked") // Only set it if it's pressed, or the non-pressed examples will have no press effects down: is("pressed") ? true : undefined + focusPolicy: Qt.StrongFocus } } @@ -79,6 +80,7 @@ QtObject { delegate: RadioDelegate { width: parent.width text: "RadioDelegate" + focusPolicy: Qt.StrongFocus } } } diff --git a/tests/manual/testbench/controls/ScrollBar.qml b/tests/manual/testbench/controls/ScrollBar.qml index abe1d007..f59796d2 100644 --- a/tests/manual/testbench/controls/ScrollBar.qml +++ b/tests/manual/testbench/controls/ScrollBar.qml @@ -96,7 +96,7 @@ QtObject { ScrollBar { id: horizontalScrollBar enabled: !is("disabled") - orientation: Qt.Vertical + orientation: Qt.Horizontal interactive: is("interactive") visible: is("horizontal") size: 0.3 diff --git a/tests/manual/testbench/controls/ScrollIndicator.qml b/tests/manual/testbench/controls/ScrollIndicator.qml index 8c5079fa..32c66aad 100644 --- a/tests/manual/testbench/controls/ScrollIndicator.qml +++ b/tests/manual/testbench/controls/ScrollIndicator.qml @@ -86,7 +86,7 @@ QtObject { ScrollIndicator { id: horizontalScrollIndicator enabled: !is("disabled") - orientation: Qt.Vertical + orientation: Qt.Horizontal active: true visible: is("horizontal") size: 0.3 diff --git a/tests/manual/testbench/controls/SpinBox.qml b/tests/manual/testbench/controls/SpinBox.qml index 87e5cfae..77094dc0 100644 --- a/tests/manual/testbench/controls/SpinBox.qml +++ b/tests/manual/testbench/controls/SpinBox.qml @@ -53,16 +53,18 @@ import QtQuick.Controls 2.3 QtObject { property var supportedStates: [ - ["disabled"], + [], ["pressed"], + ["disabled"], ["mirrored"], - ["mirrored", "disabled"], ["mirrored", "pressed"], + ["mirrored", "disabled"], ["editable"], ["editable", "pressed"], + ["editable", "disabled"], ["editable", "mirrored"], ["editable", "mirrored", "pressed"], - ["editable", "mirrored", "mirrored"] + ["editable", "mirrored", "disabled"] ] property Component component: SpinBox { diff --git a/tests/manual/testbench/controls/SwipeDelegate.qml b/tests/manual/testbench/controls/SwipeDelegate.qml index 3ea67101..6143a50f 100644 --- a/tests/manual/testbench/controls/SwipeDelegate.qml +++ b/tests/manual/testbench/controls/SwipeDelegate.qml @@ -83,6 +83,7 @@ QtObject { // Only set it if it's pressed, or the non-pressed examples will have no press effects down: is("pressed") ? true : undefined highlighted: is("highlighted") + focusPolicy: Qt.StrongFocus swipe.left: actionComponent swipe.right: actionComponent @@ -96,6 +97,7 @@ QtObject { delegate: SwipeDelegate { width: parent.width text: "SwipeDelegate" + focusPolicy: Qt.StrongFocus swipe.left: actionComponent swipe.right: actionComponent diff --git a/tests/manual/testbench/controls/Switch.qml b/tests/manual/testbench/controls/Switch.qml index 70f44abd..63051a50 100644 --- a/tests/manual/testbench/controls/Switch.qml +++ b/tests/manual/testbench/controls/Switch.qml @@ -65,7 +65,7 @@ QtObject { ] property Component component: Switch { - text: "CheckBox" + text: "Switch" enabled: !is("disabled") checked: is("checked") // Only set it if it's pressed, or the non-pressed examples will have no press effects diff --git a/tests/manual/testbench/controls/SwitchDelegate.qml b/tests/manual/testbench/controls/SwitchDelegate.qml index aad2eed3..4cb42105 100644 --- a/tests/manual/testbench/controls/SwitchDelegate.qml +++ b/tests/manual/testbench/controls/SwitchDelegate.qml @@ -67,6 +67,7 @@ QtObject { // Only set it if it's pressed, or the non-pressed examples will have no press effects down: is("pressed") ? true : undefined highlighted: is("highlighted") + focusPolicy: Qt.StrongFocus LayoutMirroring.enabled: is("mirrored") } @@ -79,6 +80,7 @@ QtObject { delegate: SwitchDelegate { width: parent.width text: "SwitchDelegate" + focusPolicy: Qt.StrongFocus } } } diff --git a/tests/manual/testbench/controls/TextArea.qml b/tests/manual/testbench/controls/TextArea.qml index de34076a..8f2493f4 100644 --- a/tests/manual/testbench/controls/TextArea.qml +++ b/tests/manual/testbench/controls/TextArea.qml @@ -57,7 +57,17 @@ QtObject { ["disabled"], ] - property Component component: TextArea { - text: "TextArea\nTextArea\nTextArea" + property Component component: Column { + spacing: 10 + + TextArea { + text: "TextArea\nwith\ntext" + enabled: !is("disabled") + } + + TextArea { + placeholderText: "TextArea with placeholderText" + enabled: !is("disabled") + } } } diff --git a/tests/manual/testbench/controls/TextField.qml b/tests/manual/testbench/controls/TextField.qml index 6986854b..7ecd21b2 100644 --- a/tests/manual/testbench/controls/TextField.qml +++ b/tests/manual/testbench/controls/TextField.qml @@ -57,8 +57,17 @@ QtObject { ["disabled"], ] - property Component component: TextField { - text: "TextField" - enabled: !is("disabled") + property Component component: Column { + spacing: 10 + + TextField { + text: "TextField with text" + enabled: !is("disabled") + } + + TextField { + placeholderText: "TextField with placeholderText" + enabled: !is("disabled") + } } } diff --git a/tests/manual/testbench/qml.qrc b/tests/manual/testbench/qml.qrc index 85d7f5d3..a0927f35 100644 --- a/tests/manual/testbench/qml.qrc +++ b/tests/manual/testbench/qml.qrc @@ -39,5 +39,6 @@ <file>controls/Tumbler.qml</file> <file>controls/BusyIndicator.qml</file> <file>testbench.qml</file> + <file>controls/MenuBar.qml</file> </qresource> </RCC> diff --git a/tests/manual/testbench/testbench.qml b/tests/manual/testbench/testbench.qml index 43f4465e..d9bf0fe5 100644 --- a/tests/manual/testbench/testbench.qml +++ b/tests/manual/testbench/testbench.qml @@ -53,7 +53,7 @@ import QtQuick.Window 2.3 import QtQuick.Layouts 1.2 import QtQuick.Controls 2.3 import QtQuick.Controls.Imagine 2.3 -import Qt.labs.folderlistmodel 1.0 +import Qt.labs.folderlistmodel 2.2 import Qt.labs.settings 1.0 import App 1.0 @@ -266,6 +266,10 @@ ApplicationWindow { function reloadAssets() { console.log(brief, "Reloading assets...") + // Clear the model, otherwise ListView will keep the old items around + // with the old assets, even after clearing the pixmap cache + listView.resettingModel = true + listView.model = null window.Imagine.path = "" assetReloadNextFrameTimer.start() } @@ -297,9 +301,14 @@ ApplicationWindow { window.Imagine.path = Qt.binding(function() { return settings.useCustomImaginePath && settings.imaginePath.length > 0 ? settings.imaginePath : undefined }) + infoToolTip.text = "Reloaded assets" infoToolTip.timeout = 1500 infoToolTip.open() + + listView.model = controlFolderListModel + listView.resettingModel = false + console.log(brief, "... reloaded assets.") } } @@ -378,18 +387,30 @@ ApplicationWindow { return paletteSettings.useCustomPalette && paletteColorString.length > 0 ? paletteColorString : undefined } + FolderListModel { + id: controlFolderListModel + folder: "qrc:/controls" + showDirs: false + nameFilters: searchTextField.text.length > 0 ? ["*" + searchTextField.text + "*.qml"] : [] + caseSensitive: false + } + ListView { + id: listView anchors.fill: parent spacing: 30 - visible: !busyIndicatorRow.visible + visible: !busyIndicatorRow.visible && !resettingModel - ScrollBar.vertical: ScrollBar {} + property bool resettingModel: false - model: FolderListModel { - folder: "qrc:/controls" - showDirs: false - nameFilters: searchTextField.text.length > 0 ? ["*" + searchTextField.text + "*.qml"] : [] + ScrollBar.vertical: ScrollBar { + parent: contentPane + anchors.top: parent.top + anchors.right: parent.right + anchors.bottom: parent.bottom } + + model: controlFolderListModel delegate: ColumnLayout { id: rootDelegate width: parent.width |