aboutsummaryrefslogtreecommitdiffstats
path: root/tests/manual/testbench
diff options
context:
space:
mode:
authorLiang Qi <liang.qi@qt.io>2017-10-05 20:39:42 +0200
committerLiang Qi <liang.qi@qt.io>2017-10-05 20:39:42 +0200
commit850f5868b7eef9746c49570ed4c8bfb2c5177ecc (patch)
tree91de4ddc14c65e946b2a87b33a5596a95d4c89ec /tests/manual/testbench
parenteb1b76053f2c6f35f8a33bec71536ca24651a711 (diff)
parent0bd5c342013bfae63f1a7e13a0f531cb0a2c8581 (diff)
Merge remote-tracking branch 'origin/5.10' into dev
Diffstat (limited to 'tests/manual/testbench')
-rw-r--r--tests/manual/testbench/assetfixer.cpp1
-rw-r--r--tests/manual/testbench/controls/CheckDelegate.qml2
-rw-r--r--tests/manual/testbench/controls/Dialog.qml6
-rw-r--r--tests/manual/testbench/controls/ItemDelegate.qml2
-rw-r--r--tests/manual/testbench/controls/MenuBar.qml79
-rw-r--r--tests/manual/testbench/controls/RadioDelegate.qml2
-rw-r--r--tests/manual/testbench/controls/ScrollBar.qml2
-rw-r--r--tests/manual/testbench/controls/ScrollIndicator.qml2
-rw-r--r--tests/manual/testbench/controls/SpinBox.qml8
-rw-r--r--tests/manual/testbench/controls/SwipeDelegate.qml2
-rw-r--r--tests/manual/testbench/controls/Switch.qml2
-rw-r--r--tests/manual/testbench/controls/SwitchDelegate.qml2
-rw-r--r--tests/manual/testbench/controls/TextArea.qml14
-rw-r--r--tests/manual/testbench/controls/TextField.qml15
-rw-r--r--tests/manual/testbench/qml.qrc1
-rw-r--r--tests/manual/testbench/testbench.qml35
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