diff options
-rw-r--r-- | src/imports/controls/doc/images/qtquickcontrols2-checkbox-checked.png | bin | 1905 -> 0 bytes | |||
-rw-r--r-- | src/imports/controls/doc/images/qtquickcontrols2-checkbox-disabled.png | bin | 1529 -> 0 bytes | |||
-rw-r--r-- | src/imports/controls/doc/images/qtquickcontrols2-checkbox-focused.png | bin | 1628 -> 0 bytes | |||
-rw-r--r-- | src/imports/controls/doc/images/qtquickcontrols2-checkbox-normal.png | bin | 1339 -> 0 bytes | |||
-rw-r--r-- | src/imports/controls/doc/images/qtquickcontrols2-checkbox-tristate.gif | bin | 0 -> 4033 bytes | |||
-rw-r--r-- | src/imports/controls/doc/images/qtquickcontrols2-checkbox.gif | bin | 0 -> 2864 bytes | |||
-rw-r--r-- | src/quicktemplates2/qquickcheckbox.cpp | 17 | ||||
-rw-r--r-- | tests/manual/gifs/data/qtquickcontrols2-checkbox-tristate.qml | 77 | ||||
-rw-r--r-- | tests/manual/gifs/data/qtquickcontrols2-checkbox.qml | 72 | ||||
-rw-r--r-- | tests/manual/gifs/tst_gifs.cpp | 58 |
10 files changed, 213 insertions, 11 deletions
diff --git a/src/imports/controls/doc/images/qtquickcontrols2-checkbox-checked.png b/src/imports/controls/doc/images/qtquickcontrols2-checkbox-checked.png Binary files differdeleted file mode 100644 index 71cb90ca..00000000 --- a/src/imports/controls/doc/images/qtquickcontrols2-checkbox-checked.png +++ /dev/null diff --git a/src/imports/controls/doc/images/qtquickcontrols2-checkbox-disabled.png b/src/imports/controls/doc/images/qtquickcontrols2-checkbox-disabled.png Binary files differdeleted file mode 100644 index 0c4d3bf7..00000000 --- a/src/imports/controls/doc/images/qtquickcontrols2-checkbox-disabled.png +++ /dev/null diff --git a/src/imports/controls/doc/images/qtquickcontrols2-checkbox-focused.png b/src/imports/controls/doc/images/qtquickcontrols2-checkbox-focused.png Binary files differdeleted file mode 100644 index 5fb6daaf..00000000 --- a/src/imports/controls/doc/images/qtquickcontrols2-checkbox-focused.png +++ /dev/null diff --git a/src/imports/controls/doc/images/qtquickcontrols2-checkbox-normal.png b/src/imports/controls/doc/images/qtquickcontrols2-checkbox-normal.png Binary files differdeleted file mode 100644 index 69700ee0..00000000 --- a/src/imports/controls/doc/images/qtquickcontrols2-checkbox-normal.png +++ /dev/null diff --git a/src/imports/controls/doc/images/qtquickcontrols2-checkbox-tristate.gif b/src/imports/controls/doc/images/qtquickcontrols2-checkbox-tristate.gif Binary files differnew file mode 100644 index 00000000..50986f1b --- /dev/null +++ b/src/imports/controls/doc/images/qtquickcontrols2-checkbox-tristate.gif diff --git a/src/imports/controls/doc/images/qtquickcontrols2-checkbox.gif b/src/imports/controls/doc/images/qtquickcontrols2-checkbox.gif Binary files differnew file mode 100644 index 00000000..beacdb37 --- /dev/null +++ b/src/imports/controls/doc/images/qtquickcontrols2-checkbox.gif diff --git a/src/quicktemplates2/qquickcheckbox.cpp b/src/quicktemplates2/qquickcheckbox.cpp index a777c2b4..ae967c34 100644 --- a/src/quicktemplates2/qquickcheckbox.cpp +++ b/src/quicktemplates2/qquickcheckbox.cpp @@ -50,6 +50,8 @@ QT_BEGIN_NAMESPACE \ingroup qtquickcontrols2-buttons \brief An option button that can be checked or unchecked. + \image qtquickcontrols2-checkbox.gif + CheckBox presents an option button that can be toggled on (checked) or off (unchecked). Check boxes are typically used to select one or more options from a set of options. For larger sets of options, such as those @@ -65,17 +67,6 @@ QT_BEGIN_NAMESPACE the checkbox. This state is useful when several child nodes are selected in a treeview, for example. - \table - \row \li \image qtquickcontrols2-checkbox-normal.png - \li A check box in its normal state. - \row \li \image qtquickcontrols2-checkbox-checked.png - \li A check box that is checked. - \row \li \image qtquickcontrols2-checkbox-focused.png - \li A check box that has active focus. - \row \li \image qtquickcontrols2-checkbox-disabled.png - \li A check box that is disabled. - \endtable - \code ColumnLayout { CheckBox { @@ -120,6 +111,10 @@ QQuickCheckBox::QQuickCheckBox(QQuickItem *parent) : This property holds whether the checkbox is a tri-state checkbox. + In the animation below, the first checkbox is tri-state: + + \image qtquickcontrols2-checkbox-tristate.gif + The default is \c false, i.e., the checkbox has only two states. */ bool QQuickCheckBox::isTristate() const diff --git a/tests/manual/gifs/data/qtquickcontrols2-checkbox-tristate.qml b/tests/manual/gifs/data/qtquickcontrols2-checkbox-tristate.qml new file mode 100644 index 00000000..ef7e18d4 --- /dev/null +++ b/tests/manual/gifs/data/qtquickcontrols2-checkbox-tristate.qml @@ -0,0 +1,77 @@ +/**************************************************************************** +** +** 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.6 +import QtQuick.Controls 2.0 +import QtQuick.Layouts 1.1 +import QtQuick.Window 2.0 + +Window { + width: column.implicitWidth + height: column.implicitHeight + visible: true + + property alias english: english + property alias norwegian: norwegian + + ColumnLayout { + id: column + anchors.centerIn: parent + + CheckBox { + text: qsTr("Languages") + checkState: english.checked && norwegian.checked + ? Qt.Checked : (english.checked || norwegian.checked) ? Qt.PartiallyChecked : Qt.Unchecked + tristate: true + } + CheckBox { + id: english + text: qsTr("English") + checked: true + leftPadding: indicator.width + } + CheckBox { + id: norwegian + text: qsTr("Norwegian") + checked: true + leftPadding: indicator.width + } + } +} diff --git a/tests/manual/gifs/data/qtquickcontrols2-checkbox.qml b/tests/manual/gifs/data/qtquickcontrols2-checkbox.qml new file mode 100644 index 00000000..ef53721d --- /dev/null +++ b/tests/manual/gifs/data/qtquickcontrols2-checkbox.qml @@ -0,0 +1,72 @@ +/**************************************************************************** +** +** 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.6 +import QtQuick.Controls 2.0 +import QtQuick.Layouts 1.1 +import QtQuick.Window 2.0 + +Window { + width: column.implicitWidth + height: column.implicitHeight + visible: true + + property alias second: second + property alias third: third + + ColumnLayout { + id: column + anchors.centerIn: parent + + CheckBox { + checked: true + text: qsTr("First") + } + CheckBox { + id: second + text: qsTr("Second") + } + CheckBox { + id: third + checked: true + text: qsTr("Third") + } + } +} diff --git a/tests/manual/gifs/tst_gifs.cpp b/tests/manual/gifs/tst_gifs.cpp index e893d86e..27234e63 100644 --- a/tests/manual/gifs/tst_gifs.cpp +++ b/tests/manual/gifs/tst_gifs.cpp @@ -65,6 +65,8 @@ private slots: void delegates(); void dial_data(); void dial(); + void checkBox(); + void checkBoxTriState(); private: void moveSmoothly(QQuickWindow *window, const QPoint &from, const QPoint &to, int movements, @@ -607,6 +609,62 @@ void tst_Gifs::dial() gifRecorder.waitForFinish(); } +void tst_Gifs::checkBox() +{ + GifRecorder gifRecorder; + gifRecorder.setDataDirPath(dataDirPath); + gifRecorder.setOutputDir(outputDir); + gifRecorder.setRecordingDuration(5); + gifRecorder.setQmlFileName("qtquickcontrols2-checkbox.qml"); + + gifRecorder.start(); + + QQuickWindow *window = gifRecorder.window(); + QQuickItem *second = window->property("second").value<QQuickItem*>(); + QVERIFY(second); + QQuickItem *third = window->property("third").value<QQuickItem*>(); + QVERIFY(third); + + QTest::mouseClick(window, Qt::LeftButton, Qt::NoModifier, + second->mapToScene(QPointF(second->width() / 2, second->height() / 2)).toPoint(), 400); + QTest::mouseClick(window, Qt::LeftButton, Qt::NoModifier, + third->mapToScene(QPointF(third->width() / 2, third->height() / 2)).toPoint(), 800); + QTest::mouseClick(window, Qt::LeftButton, Qt::NoModifier, + third->mapToScene(QPointF(third->width() / 2, third->height() / 2)).toPoint(), 800); + QTest::mouseClick(window, Qt::LeftButton, Qt::NoModifier, + second->mapToScene(QPointF(second->width() / 2, second->height() / 2)).toPoint(), 800); + + gifRecorder.waitForFinish(); +} + +void tst_Gifs::checkBoxTriState() +{ + GifRecorder gifRecorder; + gifRecorder.setDataDirPath(dataDirPath); + gifRecorder.setOutputDir(outputDir); + gifRecorder.setRecordingDuration(6); + gifRecorder.setQmlFileName("qtquickcontrols2-checkbox-tristate.qml"); + + gifRecorder.start(); + + QQuickWindow *window = gifRecorder.window(); + QQuickItem *english = window->property("english").value<QQuickItem*>(); + QVERIFY(english); + QQuickItem *norwegian = window->property("norwegian").value<QQuickItem*>(); + QVERIFY(norwegian); + + QTest::mouseClick(window, Qt::LeftButton, Qt::NoModifier, + english->mapToScene(QPointF(english->width() / 2, english->height() / 2)).toPoint(), 1000); + QTest::mouseClick(window, Qt::LeftButton, Qt::NoModifier, + norwegian->mapToScene(QPointF(norwegian->width() / 2, norwegian->height() / 2)).toPoint(), 1000); + QTest::mouseClick(window, Qt::LeftButton, Qt::NoModifier, + norwegian->mapToScene(QPointF(norwegian->width() / 2, norwegian->height() / 2)).toPoint(), 1000); + QTest::mouseClick(window, Qt::LeftButton, Qt::NoModifier, + english->mapToScene(QPointF(english->width() / 2, english->height() / 2)).toPoint(), 1000); + + gifRecorder.waitForFinish(); +} + QTEST_MAIN(tst_Gifs) #include "tst_gifs.moc" |