diff options
author | Mitch Curtis <mitch.curtis@qt.io> | 2016-07-27 11:12:41 +0200 |
---|---|---|
committer | J-P Nurmi <jpnurmi@qt.io> | 2016-09-02 14:16:07 +0000 |
commit | f6c3ecdb0646a4d83be5c07dd5369d0b0350260c (patch) | |
tree | 68c0268ba858ac1ff098f0c95be0593468b1e9af /tests/manual | |
parent | 470c222196d4d1d21d1d80b550f632c030e9b651 (diff) |
Add RoundButton
[ChangeLog][Controls] Added RoundButton.
Change-Id: I30a8b9e942a61089e87fb1aa248432e42caf0d20
Task-number: QTBUG-54967
Reviewed-by: J-P Nurmi <jpnurmi@qt.io>
Diffstat (limited to 'tests/manual')
-rw-r--r-- | tests/manual/buttons/ButtonLoader.qml | 91 | ||||
-rw-r--r-- | tests/manual/buttons/buttons.pro | 2 | ||||
-rw-r--r-- | tests/manual/buttons/buttons.qml | 43 | ||||
-rw-r--r-- | tests/manual/testbench/main.qml | 102 |
4 files changed, 218 insertions, 20 deletions
diff --git a/tests/manual/buttons/ButtonLoader.qml b/tests/manual/buttons/ButtonLoader.qml new file mode 100644 index 00000000..8793d98f --- /dev/null +++ b/tests/manual/buttons/ButtonLoader.qml @@ -0,0 +1,91 @@ +/**************************************************************************** +** +** Copyright (C) 2016 The Qt Company Ltd. +** Contact: http://www.qt.io/licensing/ +** +** This file is part of the test suite of the Qt Toolkit. +** +** $QT_BEGIN_LICENSE:BSD$ +** 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.8 +import QtQuick.Controls 2.1 + +Item { + id: root + implicitWidth: activeButton.implicitWidth + implicitHeight: activeButton.implicitHeight + + property bool round: false + + property string text + property bool flat + property bool hoverEnabled + property bool highlighted + property bool checked + property var down: undefined + + property AbstractButton activeButton: round ? roundButton : button + + Button { + id: button + visible: !round + text: root.text + flat: root.flat + hoverEnabled: root.hoverEnabled + highlighted: root.highlighted + checked: root.checked + down: root.down + enabled: root.enabled + } + + RoundButton { + id: roundButton + visible: round + text: "\u2713" + flat: root.flat + hoverEnabled: root.hoverEnabled + highlighted: root.highlighted + checked: root.checked + down: root.down + enabled: root.enabled + + Label { + text: root.text + font.pixelSize: roundButton.contentItem.font.pixelSize * 0.5 + anchors.top: parent.bottom + anchors.topMargin: 2 + anchors.horizontalCenter: parent.horizontalCenter + } + } +} diff --git a/tests/manual/buttons/buttons.pro b/tests/manual/buttons/buttons.pro index d0a6eb28..2cb1c14c 100644 --- a/tests/manual/buttons/buttons.pro +++ b/tests/manual/buttons/buttons.pro @@ -3,4 +3,4 @@ TARGET = buttons QT += qml quickcontrols2 SOURCES += buttons.cpp -RESOURCES += buttons.qml +RESOURCES += $$files(*.qml) diff --git a/tests/manual/buttons/buttons.qml b/tests/manual/buttons/buttons.qml index e1a393fd..b3aba775 100644 --- a/tests/manual/buttons/buttons.qml +++ b/tests/manual/buttons/buttons.qml @@ -62,6 +62,11 @@ ApplicationWindow { text: "Hover" checked: true } + CheckBox { + id: roundBox + text: "Round" + checked: false + } } } @@ -105,25 +110,25 @@ ApplicationWindow { spacing: 20 padding: 20 - Button { text: "Normal"; flat: modelData.flat; hoverEnabled: hoverBox.checked } - Button { text: "Disabled"; flat: modelData.flat; hoverEnabled: hoverBox.checked; enabled: false } - Button { text: "Down"; flat: modelData.flat; hoverEnabled: hoverBox.checked; down: true } - Button { text: "Disabled"; flat: modelData.flat; hoverEnabled: hoverBox.checked; down: true; enabled: false } - - Button { text: "Checked"; flat: modelData.flat; hoverEnabled: hoverBox.checked; checked: true } - Button { text: "Disabled"; flat: modelData.flat; hoverEnabled: hoverBox.checked; checked: true; enabled: false } - Button { text: "Down"; flat: modelData.flat; hoverEnabled: hoverBox.checked; checked: true; down: true } - Button { text: "Disabled"; flat: modelData.flat; hoverEnabled: hoverBox.checked; checked: true; down: true; enabled: false } - - Button { text: "Highlighted"; flat: modelData.flat; hoverEnabled: hoverBox.checked; highlighted: true } - Button { text: "Disabled"; flat: modelData.flat; hoverEnabled: hoverBox.checked; highlighted: true; enabled: false } - Button { text: "Down"; flat: modelData.flat; hoverEnabled: hoverBox.checked; highlighted: true; down: true } - Button { text: "Disabled"; flat: modelData.flat; hoverEnabled: hoverBox.checked; highlighted: true; down: true; enabled: false } - - Button { text: "Hi-checked"; flat: modelData.flat; hoverEnabled: hoverBox.checked; highlighted: true; checked: true } - Button { text: "Disabled"; flat: modelData.flat; hoverEnabled: hoverBox.checked; highlighted: true; checked: true; enabled: false } - Button { text: "Down"; flat: modelData.flat; hoverEnabled: hoverBox.checked; highlighted: true; checked: true; down: true } - Button { text: "Disabled"; flat: modelData.flat; hoverEnabled: hoverBox.checked; highlighted: true; checked: true; down: true; enabled: false } + ButtonLoader { text: "Normal"; flat: modelData.flat; hoverEnabled: hoverBox.checked; round: roundBox.checked } + ButtonLoader { text: "Disabled"; flat: modelData.flat; hoverEnabled: hoverBox.checked; enabled: false; round: roundBox.checked } + ButtonLoader { text: "Down"; flat: modelData.flat; hoverEnabled: hoverBox.checked; down: true; round: roundBox.checked } + ButtonLoader { text: "Disabled"; flat: modelData.flat; hoverEnabled: hoverBox.checked; down: true; enabled: false; round: roundBox.checked } + + ButtonLoader { text: "Checked"; flat: modelData.flat; hoverEnabled: hoverBox.checked; checked: true; round: roundBox.checked } + ButtonLoader { text: "Disabled"; flat: modelData.flat; hoverEnabled: hoverBox.checked; checked: true; enabled: false; round: roundBox.checked } + ButtonLoader { text: "Down"; flat: modelData.flat; hoverEnabled: hoverBox.checked; checked: true; down: true; round: roundBox.checked } + ButtonLoader { text: "Disabled"; flat: modelData.flat; hoverEnabled: hoverBox.checked; checked: true; down: true; enabled: false; round: roundBox.checked } + + ButtonLoader { text: "Highlighted"; flat: modelData.flat; hoverEnabled: hoverBox.checked; highlighted: true; round: roundBox.checked } + ButtonLoader { text: "Disabled"; flat: modelData.flat; hoverEnabled: hoverBox.checked; highlighted: true; enabled: false; round: roundBox.checked } + ButtonLoader { text: "Down"; flat: modelData.flat; hoverEnabled: hoverBox.checked; highlighted: true; down: true; round: roundBox.checked } + ButtonLoader { text: "Disabled"; flat: modelData.flat; hoverEnabled: hoverBox.checked; highlighted: true; down: true; enabled: false; round: roundBox.checked } + + ButtonLoader { text: "Hi-checked"; flat: modelData.flat; hoverEnabled: hoverBox.checked; highlighted: true; checked: true; round: roundBox.checked } + ButtonLoader { text: "Disabled"; flat: modelData.flat; hoverEnabled: hoverBox.checked; highlighted: true; checked: true; enabled: false; round: roundBox.checked } + ButtonLoader { text: "Down"; flat: modelData.flat; hoverEnabled: hoverBox.checked; highlighted: true; checked: true; down: true; round: roundBox.checked } + ButtonLoader { text: "Disabled"; flat: modelData.flat; hoverEnabled: hoverBox.checked; highlighted: true; checked: true; down: true; enabled: false; round: roundBox.checked } } } } diff --git a/tests/manual/testbench/main.qml b/tests/manual/testbench/main.qml index dd1a1de8..ea59d5b5 100644 --- a/tests/manual/testbench/main.qml +++ b/tests/manual/testbench/main.qml @@ -251,6 +251,108 @@ ApplicationWindow { } RowLayout { + spacing: window.controlSpacing * 2 + + Button { + text: "Normal" + } + Button { + text: "Pressed" + down: true + } + Button { + text: "Checked" + checked: true + } + Button { + text: "CH + PR" + checked: true + down: true + } + Button { + text: "Disabled" + enabled: false + } + Button { + text: "CH + DIS" + enabled: false + checked: true + } + } + + RowLayout { + spacing: window.controlSpacing * 2 + + ColumnLayout { + RoundButton { + highlighted: true + Layout.alignment: Qt.AlignHCenter + } + Label { + text: "HI" + Layout.alignment: Qt.AlignHCenter + } + } + ColumnLayout { + RoundButton { + highlighted: true + down: true + Layout.alignment: Qt.AlignHCenter + } + Label { + text: "HI + PR" + Layout.alignment: Qt.AlignHCenter + } + } + ColumnLayout { + RoundButton { + highlighted: true + checked: true + Layout.alignment: Qt.AlignHCenter + } + Label { + text: "HI + CH" + Layout.alignment: Qt.AlignHCenter + } + } + ColumnLayout { + RoundButton { + highlighted: true + down: true + checked: true + Layout.alignment: Qt.AlignHCenter + } + Label { + text: "HI+CH+PR" + Layout.alignment: Qt.AlignHCenter + } + } + ColumnLayout { + RoundButton { + highlighted: true + enabled: false + Layout.alignment: Qt.AlignHCenter + } + Label { + text: "HI + DIS" + Layout.alignment: Qt.AlignHCenter + } + } + ColumnLayout { + RoundButton { + highlighted: true + enabled: false + checked: true + Layout.alignment: Qt.AlignHCenter + } + Label { + text: "HI+CH+DIS" + Layout.alignment: Qt.AlignHCenter + } + } + } + + RowLayout { CheckBox { text: "Normal" } |