aboutsummaryrefslogtreecommitdiffstats
path: root/tests
diff options
context:
space:
mode:
authorJ-P Nurmi <jpnurmi@digia.com>2013-09-04 19:47:05 +0200
committerThe Qt Project <gerrit-noreply@qt-project.org>2013-09-06 08:37:36 +0200
commitd4dbe90ccfe43d93352846d20139531c03ed5627 (patch)
tree2d038793b2a9d88a424443f48fcb0db853605b9b /tests
parent392e3883a2cf13e938d29b538fac1f5bc2aebaf6 (diff)
ThumbnailToolBar manual test
Change-Id: Ia8f59913f3b6e3dc096478af00c1f91b68705ab7 Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com>
Diffstat (limited to 'tests')
-rw-r--r--tests/manual/thumbnail/main.qml242
-rw-r--r--tests/manual/thumbnail/thumbnail.qmlproject16
2 files changed, 258 insertions, 0 deletions
diff --git a/tests/manual/thumbnail/main.qml b/tests/manual/thumbnail/main.qml
new file mode 100644
index 0000000..b422564
--- /dev/null
+++ b/tests/manual/thumbnail/main.qml
@@ -0,0 +1,242 @@
+/****************************************************************************
+**
+** Copyright (C) 2013 Digia Plc and/or its subsidiary(-ies).
+** Contact: http://www.qt-project.org/legal
+**
+** This file is part of the test suite of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:LGPL$
+** 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 Digia. For licensing terms and
+** conditions see http://qt.digia.com/licensing. For further information
+** use the contact form at http://qt.digia.com/contact-us.
+**
+** GNU Lesser General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU Lesser
+** General Public License version 2.1 as published by the Free Software
+** Foundation and appearing in the file LICENSE.LGPL included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU Lesser General Public License version 2.1 requirements
+** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
+**
+** In addition, as a special exception, Digia gives you certain additional
+** rights. These rights are described in the Digia Qt LGPL Exception
+** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
+**
+** GNU General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU
+** General Public License version 3.0 as published by the Free Software
+** Foundation and appearing in the file LICENSE.GPL included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU General Public License version 3.0 requirements will be
+** met: http://www.gnu.org/copyleft/gpl.html.
+**
+**
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+import QtQuick 2.1
+import QtWinExtras 1.0
+import QtQuick.Layouts 1.0
+import QtQuick.Controls 1.0
+
+ApplicationWindow {
+ id: window
+
+ title: "ThumbnailToolBar"
+
+ width: 800
+ height: 400
+ minimumWidth: 480
+ minimumHeight: 320
+
+ ThumbnailToolBar {
+ id: toolBar
+
+ ThumbnailToolButton {
+ tooltip: "Button #1"
+ iconSource: "qrc:/qt-project.org/qmessagebox/images/qtlogo-64.png"
+ }
+
+ Component {
+ id: buttonComponent
+ ThumbnailToolButton {
+ iconSource: "qrc:/qt-project.org/qmessagebox/images/qtlogo-64.png"
+ }
+ }
+ }
+
+ RowLayout {
+ id: row
+
+ spacing: 10
+ anchors.margins: 10
+ anchors.fill: parent
+
+ Item {
+ width: window.width / 3 * 2
+ Layout.fillWidth: true
+ Layout.fillHeight: true
+
+ GroupBox {
+ anchors.fill: parent
+ title: qsTr("Buttons (%1)").arg(toolBar.count)
+
+ ColumnLayout {
+ anchors.fill: parent
+ anchors.margins: 10
+
+ TableView {
+ id: tableView
+
+ currentRow: 0
+ model: toolBar.buttons
+
+ Layout.fillWidth: true
+ Layout.fillHeight: true
+
+ TableViewColumn { role: "tooltip"; title: "Tooltip"; width: 132 }
+ TableViewColumn { role: "iconSource"; title: "Icon"; width: 88 }
+ TableViewColumn { role: "visible"; title: "Visible"; width: 64 }
+ TableViewColumn { role: "enabled"; title: "Enabled"; width: 64 }
+ TableViewColumn { role: "interactive"; title: "Interactive"; width: 64 }
+ TableViewColumn { role: "flat"; title: "Flat"; width: 64 }
+ TableViewColumn { role: "dismissOnClick"; title: "Dismissable"; width: 64 }
+ }
+
+ RowLayout {
+ spacing: 10
+ anchors.horizontalCenter: parent.horizontalCenter
+
+ ToolButton {
+ property int counter: 1
+
+ text: "Add"
+ onClicked: {
+ var btn = buttonComponent.createObject(toolBar)
+ btn.tooltip = qsTr("Button #%1").arg(++counter)
+ toolBar.addButton(btn)
+ tableView.currentRow = toolBar.count - 1
+ }
+ }
+
+ ToolButton {
+ text: "Remove"
+ enabled: toolBar.count > 0 && tableView.currentRow !== -1
+ onClicked: {
+ toolBar.removeButton(toolBar.buttons[tableView.currentRow])
+ }
+ }
+
+ ToolButton {
+ text: "Clear"
+ enabled: toolBar.count > 0
+ onClicked: {
+ toolBar.clear()
+ }
+ }
+ }
+ }
+ }
+ }
+
+ Item {
+ Layout.fillHeight: true
+ width: repeater.count ? repeater.itemAt(0).implicitWidth : 0
+
+ Repeater {
+ id: repeater
+
+ model: toolBar.buttons
+
+ GroupBox {
+ title: "Properties"
+
+ anchors.fill: parent
+ visible: index === tableView.currentRow
+ implicitWidth: grid.implicitWidth + 20
+
+ GridLayout {
+ id: grid
+
+ columns: 2
+ rowSpacing: 10
+ columnSpacing: 10
+ anchors.fill: parent
+ anchors.margins: 10
+
+ property ThumbnailToolButton button: toolBar.buttons[index]
+
+ Label { text: "Tooltip:" }
+ TextField {
+ text: grid.button ? grid.button.tooltip : ""
+ onTextChanged: if (grid.button) grid.button.tooltip = text
+ Layout.fillWidth: true
+ }
+
+ Label { text: "Icon:" }
+ ComboBox {
+ currentIndex: 1
+ textRole: "name"
+ Layout.fillWidth: true
+ model: ListModel {
+ id: iconModel
+ ListElement { name: "None"; source: "" }
+ ListElement { name: "Qt logo (64)"; source: "qrc:/qt-project.org/qmessagebox/images/qtlogo-64.png" }
+ ListElement { name: "Up (16)"; source: "qrc:/qt-project.org/styles/commonstyle/images/up-16.png" }
+ ListElement { name: "Left (32)"; source: "qrc:/qt-project.org/styles/commonstyle/images/left-32.png" }
+ ListElement { name: "Right (32)"; source: "qrc:/qt-project.org/styles/commonstyle/images/right-32.png" }
+ ListElement { name: "Down (128)"; source: "qrc:/qt-project.org/styles/commonstyle/images/down-128.png" }
+ ListElement { name: "Non-existing"; source: "something that does not exist" }
+ }
+ onCurrentIndexChanged: {
+ if (grid.button && currentIndex !== -1)
+ grid.button.iconSource = iconModel.get(currentIndex).source
+ }
+ }
+
+ CheckBox {
+ text: "Visible"
+ checked: grid.button && grid.button.visible
+ onCheckedChanged: if (grid.button) grid.button.visible = checked
+ Layout.columnSpan: 2
+ }
+
+ CheckBox {
+ text: "Enabled"
+ checked: grid.button && grid.button.enabled
+ onCheckedChanged: if (grid.button) grid.button.enabled = checked
+ Layout.columnSpan: 2
+ }
+
+ CheckBox {
+ text: "Interactive"
+ checked: grid.button && grid.button.interactive
+ onCheckedChanged: if (grid.button) grid.button.interactive = checked
+ Layout.columnSpan: 2
+ }
+
+ CheckBox {
+ text: "Flat"
+ checked: grid.button && grid.button.flat
+ onCheckedChanged: if (grid.button) grid.button.flat = checked
+ Layout.columnSpan: 2
+ }
+
+ CheckBox {
+ text: "Dismissable"
+ checked: grid.button && grid.button.dismissOnClick
+ onCheckedChanged: if (grid.button) grid.button.dismissOnClick = checked
+ Layout.columnSpan: 2
+ }
+
+ Item { Layout.fillHeight: true }
+ }
+ }
+ }
+ }
+ }
+}
diff --git a/tests/manual/thumbnail/thumbnail.qmlproject b/tests/manual/thumbnail/thumbnail.qmlproject
new file mode 100644
index 0000000..e5a8bf0
--- /dev/null
+++ b/tests/manual/thumbnail/thumbnail.qmlproject
@@ -0,0 +1,16 @@
+import QmlProject 1.1
+
+Project {
+ mainFile: "main.qml"
+
+ /* Include .qml, .js, and image files from current directory and subdirectories */
+ QmlFiles {
+ directory: "."
+ }
+ JavaScriptFiles {
+ directory: "."
+ }
+ ImageFiles {
+ directory: "."
+ }
+}