diff options
author | Mitch Curtis <[email protected]> | 2021-08-12 14:39:51 +0200 |
---|---|---|
committer | Mitch Curtis <[email protected]> | 2021-08-16 12:52:59 +0200 |
commit | 809339d1484cf556512534367b8170bc26baf072 (patch) | |
tree | 12871313b658f36d058b5ef25af1e247e9c46ce9 /tests/manual/quickcontrols2/gifs | |
parent | b01b4f00eae8022c6a97d90f54dac395144ae095 (diff) |
Now that qtquickcontrols2 has been merged into qtdeclarative,
we should make it obvious that this repo should no longer be
used, by preventing it from being built.
Task-number: QTBUG-95173
Pick-to: 6.2
Change-Id: I95bd6a214f3d75a865ab163ee0a1f9ffbeb7a051
Reviewed-by: Alexandru Croitor <[email protected]>
Reviewed-by: Volker Hilsheimer <[email protected]>
Diffstat (limited to 'tests/manual/quickcontrols2/gifs')
46 files changed, 0 insertions, 5040 deletions
diff --git a/tests/manual/quickcontrols2/gifs/CMakeLists.txt b/tests/manual/quickcontrols2/gifs/CMakeLists.txt deleted file mode 100644 index 7d7de097..00000000 --- a/tests/manual/quickcontrols2/gifs/CMakeLists.txt +++ /dev/null @@ -1,35 +0,0 @@ -# Generated from gifs.pro. - -if (NOT QT_BUILD_STANDALONE_TESTS AND NOT QT_BUILDING_QT) - cmake_minimum_required(VERSION 3.16) - project(tst_gifs LANGUAGES C CXX ASM) - find_package(Qt6BuildInternals COMPONENTS STANDALONE_TEST) -endif() - -##################################################################### -## tst_gifs Test: -##################################################################### - -# Collect test data -file(GLOB_RECURSE test_data_glob - RELATIVE ${CMAKE_CURRENT_SOURCE_DIR} - ${CMAKE_CURRENT_SOURCE_DIR}/data/*) -list(APPEND test_data ${test_data_glob}) - -qt_internal_add_manual_test(tst_gifs - SOURCES - capturedevent.cpp capturedevent.h - eventcapturer.cpp eventcapturer.h - gifrecorder.cpp gifrecorder.h - tst_gifs.cpp - PUBLIC_LIBRARIES - Qt::Gui - Qt::Quick - TESTDATA ${test_data} -) - -#### Keys ignored in scope 1:.:.:gifs.pro:<TRUE>: -# TEMPLATE = "app" - -## Scopes: -##################################################################### diff --git a/tests/manual/quickcontrols2/gifs/capturedevent.cpp b/tests/manual/quickcontrols2/gifs/capturedevent.cpp deleted file mode 100644 index cec5e97a..00000000 --- a/tests/manual/quickcontrols2/gifs/capturedevent.cpp +++ /dev/null @@ -1,113 +0,0 @@ -/**************************************************************************** -** -** Copyright (C) 2017 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:LGPL3$ -** 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 http://www.qt.io/terms-conditions. For further -** information use the contact form at http://www.qt.io/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 3 as published by the Free Software -** Foundation and appearing in the file LICENSE.LGPLv3 included in the -** packaging of this file. Please review the following information to -** ensure the GNU Lesser General Public License version 3 requirements -** will be met: https://www.gnu.org/licenses/lgpl.html. -** -** GNU General Public License Usage -** Alternatively, this file may be used under the terms of the GNU -** General Public License version 2.0 or later 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 2.0 requirements will be -** met: http://www.gnu.org/licenses/gpl-2.0.html. -** -** $QT_END_LICENSE$ -** -****************************************************************************/ - -#include "capturedevent.h" - -#include <QMetaEnum> -#include <QMouseEvent> - -namespace { - static inline bool isMouseEvent(const QEvent &event) - { - return event.type() >= QEvent::MouseButtonPress && event.type() <= QEvent::MouseMove; - } -} - -CapturedEvent::CapturedEvent() -{ -} - -CapturedEvent::CapturedEvent(const QEvent &event, int delay) -{ - setEvent(event); - setDelay(delay); -} - -void CapturedEvent::setEvent(const QEvent &event) -{ - mType = event.type(); - - if (isMouseEvent(event)) { - const QMouseEvent *mouseEvent = static_cast<const QMouseEvent*>(&event); - mPos = mouseEvent->pos(); - mMouseButton = mouseEvent->button(); - } -} - -QEvent::Type CapturedEvent::type() const -{ - return mType; -} - -int CapturedEvent::delay() const -{ - return mDelay; -} - -void CapturedEvent::setDelay(int delay) -{ - mDelay = delay; - - mCppCommand.clear(); - - // We generate the C++ command here instead of when the event is captured, - // because events() might trim some events, causing the delay of some events to change. - // If we did it earlier, the events wouldn't have correct delays. - if (mType == QEvent::MouseMove) { - mCppCommand = QString::fromLatin1("QTest::mouseMove(&view, QPoint(%1, %2), %3);") - .arg(mPos.x()) - .arg(mPos.y()) - .arg(mDelay); - - } else if (mType >= QEvent::MouseButtonPress && mType <= QEvent::MouseButtonDblClick) { - QString eventTestFunctionName = (mType == QEvent::MouseButtonPress - ? "mousePress" : (mType == QEvent::MouseButtonRelease - ? "mouseRelease" : "mouseDClick")); - QString buttonStr = QMetaEnum::fromType<Qt::MouseButtons>().valueToKey(mMouseButton); - mCppCommand = QString::fromLatin1("QTest::%1(&view, Qt::%2, Qt::NoModifier, QPoint(%3, %4), %5);") - .arg(eventTestFunctionName) - .arg(buttonStr) - .arg(mPos.x()) - .arg(mPos.y()) - .arg(mDelay); - } -} - -QString CapturedEvent::cppCommand() const -{ - return mCppCommand; -} - diff --git a/tests/manual/quickcontrols2/gifs/capturedevent.h b/tests/manual/quickcontrols2/gifs/capturedevent.h deleted file mode 100644 index 28ed510a..00000000 --- a/tests/manual/quickcontrols2/gifs/capturedevent.h +++ /dev/null @@ -1,67 +0,0 @@ -/**************************************************************************** -** -** Copyright (C) 2017 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:LGPL3$ -** 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 http://www.qt.io/terms-conditions. For further -** information use the contact form at http://www.qt.io/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 3 as published by the Free Software -** Foundation and appearing in the file LICENSE.LGPLv3 included in the -** packaging of this file. Please review the following information to -** ensure the GNU Lesser General Public License version 3 requirements -** will be met: https://www.gnu.org/licenses/lgpl.html. -** -** GNU General Public License Usage -** Alternatively, this file may be used under the terms of the GNU -** General Public License version 2.0 or later 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 2.0 requirements will be -** met: http://www.gnu.org/licenses/gpl-2.0.html. -** -** $QT_END_LICENSE$ -** -****************************************************************************/ - -#ifndef CAPTUREDEVENT_H -#define CAPTUREDEVENT_H - -#include <QEvent> -#include <QPoint> -#include <QString> - -class CapturedEvent -{ -public: - CapturedEvent(); - CapturedEvent(const QEvent &event, int delay); - - void setEvent(const QEvent &event); - - int delay() const; - void setDelay(int delay); - - QEvent::Type type() const; - - QString cppCommand() const; - -private: - QEvent::Type mType; - QPoint mPos; - Qt::MouseButton mMouseButton; - int mDelay; - QString mCppCommand; -}; - -#endif // CAPTUREDEVENT_H diff --git a/tests/manual/quickcontrols2/gifs/data/qtquickcontrols2-busyindicator.qml b/tests/manual/quickcontrols2/gifs/data/qtquickcontrols2-busyindicator.qml deleted file mode 100644 index 37dc5c7f..00000000 --- a/tests/manual/quickcontrols2/gifs/data/qtquickcontrols2-busyindicator.qml +++ /dev/null @@ -1,67 +0,0 @@ -/**************************************************************************** -** -** 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 -import QtQuick.Window -import QtQuick.Controls - -Window { - width: busyIndicator.implicitWidth - height: busyIndicator.implicitHeight - visible: true - - property alias busyIndicator: busyIndicator - - BusyIndicator { - id: busyIndicator - running: true - anchors.centerIn: parent - } -} diff --git a/tests/manual/quickcontrols2/gifs/data/qtquickcontrols2-button-flat.qml b/tests/manual/quickcontrols2/gifs/data/qtquickcontrols2-button-flat.qml deleted file mode 100644 index dd07926f..00000000 --- a/tests/manual/quickcontrols2/gifs/data/qtquickcontrols2-button-flat.qml +++ /dev/null @@ -1,66 +0,0 @@ -/**************************************************************************** -** -** 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 -import QtQuick.Window -import QtQuick.Controls - -Window { - width: button.width - height: button.height - visible: true - - Button { - id: button - text: pressed ? "Pressed" : "Button" - flat: true - anchors.centerIn: parent - } -} diff --git a/tests/manual/quickcontrols2/gifs/data/qtquickcontrols2-button-highlighted.qml b/tests/manual/quickcontrols2/gifs/data/qtquickcontrols2-button-highlighted.qml deleted file mode 100644 index 4af50d6b..00000000 --- a/tests/manual/quickcontrols2/gifs/data/qtquickcontrols2-button-highlighted.qml +++ /dev/null @@ -1,66 +0,0 @@ -/**************************************************************************** -** -** 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 -import QtQuick.Window -import QtQuick.Controls - -Window { - width: button.width - height: button.height - visible: true - - Button { - id: button - text: pressed ? "Pressed" : "Button" - highlighted: true - anchors.centerIn: parent - } -} diff --git a/tests/manual/quickcontrols2/gifs/data/qtquickcontrols2-button.qml b/tests/manual/quickcontrols2/gifs/data/qtquickcontrols2-button.qml deleted file mode 100644 index 8336855c..00000000 --- a/tests/manual/quickcontrols2/gifs/data/qtquickcontrols2-button.qml +++ /dev/null @@ -1,65 +0,0 @@ -/**************************************************************************** -** -** 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 -import QtQuick.Window -import QtQuick.Controls - -Window { - width: button.width - height: button.height - visible: true - - Button { - id: button - text: pressed ? "Pressed" : "Button" - anchors.centerIn: parent - } -} diff --git a/tests/manual/quickcontrols2/gifs/data/qtquickcontrols2-checkbox-tristate.qml b/tests/manual/quickcontrols2/gifs/data/qtquickcontrols2-checkbox-tristate.qml deleted file mode 100644 index b0bee6cd..00000000 --- a/tests/manual/quickcontrols2/gifs/data/qtquickcontrols2-checkbox-tristate.qml +++ /dev/null @@ -1,87 +0,0 @@ -/**************************************************************************** -** -** 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 -import QtQuick.Controls -import QtQuick.Layouts -import QtQuick.Window - -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/quickcontrols2/gifs/data/qtquickcontrols2-checkbox.qml b/tests/manual/quickcontrols2/gifs/data/qtquickcontrols2-checkbox.qml deleted file mode 100644 index 46cdc073..00000000 --- a/tests/manual/quickcontrols2/gifs/data/qtquickcontrols2-checkbox.qml +++ /dev/null @@ -1,82 +0,0 @@ -/**************************************************************************** -** -** 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 -import QtQuick.Controls -import QtQuick.Layouts -import QtQuick.Window - -Window { - width: column.implicitWidth - height: column.implicitHeight - visible: true - - property alias control2: control2 - property alias control3: control3 - - ColumnLayout { - id: column - anchors.centerIn: parent - - CheckBox { - checked: true - text: qsTr("First") - } - CheckBox { - id: control2 - text: qsTr("Second") - } - CheckBox { - id: control3 - checked: true - text: qsTr("Third") - } - } -} diff --git a/tests/manual/quickcontrols2/gifs/data/qtquickcontrols2-checkdelegate-tristate.qml b/tests/manual/quickcontrols2/gifs/data/qtquickcontrols2-checkdelegate-tristate.qml deleted file mode 100644 index 585aea27..00000000 --- a/tests/manual/quickcontrols2/gifs/data/qtquickcontrols2-checkdelegate-tristate.qml +++ /dev/null @@ -1,91 +0,0 @@ -/**************************************************************************** -** -** 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 -import QtQuick.Controls -import QtQuick.Layouts -import QtQuick.Window - -Window { - id: window - width: 170 - height: column.implicitHeight - visible: true - - property alias english: english - property alias norwegian: norwegian - - ColumnLayout { - id: column - anchors.fill: parent - - CheckDelegate { - text: qsTr("Languages") - checkState: english.checked && norwegian.checked - ? Qt.Checked : (english.checked || norwegian.checked) ? Qt.PartiallyChecked : Qt.Unchecked - tristate: true - Layout.fillWidth: true - } - CheckDelegate { - id: english - text: qsTr("English") - checked: true - leftPadding: indicator.width + 14 - Layout.fillWidth: true - } - CheckDelegate { - id: norwegian - text: qsTr("Norwegian") - checked: true - leftPadding: indicator.width + 14 - Layout.fillWidth: true - } - } -} diff --git a/tests/manual/quickcontrols2/gifs/data/qtquickcontrols2-checkdelegate.qml b/tests/manual/quickcontrols2/gifs/data/qtquickcontrols2-checkdelegate.qml deleted file mode 100644 index 704a0601..00000000 --- a/tests/manual/quickcontrols2/gifs/data/qtquickcontrols2-checkdelegate.qml +++ /dev/null @@ -1,74 +0,0 @@ -/**************************************************************************** -** -** 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 -import QtQuick.Window -import QtQuick.Controls - -Window { - width: column.implicitWidth - height: column.implicitHeight - visible: true - - property var delegate: repeater.count > 0 ? repeater.itemAt(0) : null - - Column { - id: column - anchors.centerIn: parent - - Repeater { - id: repeater - model: ["Option 1", "Option 2", "Option 3"] - delegate: CheckDelegate { - text: modelData - } - } - } -} diff --git a/tests/manual/quickcontrols2/gifs/data/qtquickcontrols2-combobox.qml b/tests/manual/quickcontrols2/gifs/data/qtquickcontrols2-combobox.qml deleted file mode 100644 index 274f2efe..00000000 --- a/tests/manual/quickcontrols2/gifs/data/qtquickcontrols2-combobox.qml +++ /dev/null @@ -1,69 +0,0 @@ -/**************************************************************************** -** -** 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 -import QtQuick.Controls -import QtQuick.Layouts -import QtQuick.Window - -Window { - width: 140 - height: 180 - visible: true - - property alias comboBox: comboBox - - ComboBox { - id: comboBox - model: ["First", "Second", "Third"] - y: 10 - anchors.horizontalCenter: parent.horizontalCenter - } -} diff --git a/tests/manual/quickcontrols2/gifs/data/qtquickcontrols2-delaybutton.qml b/tests/manual/quickcontrols2/gifs/data/qtquickcontrols2-delaybutton.qml deleted file mode 100644 index 8eaa3df2..00000000 --- a/tests/manual/quickcontrols2/gifs/data/qtquickcontrols2-delaybutton.qml +++ /dev/null @@ -1,66 +0,0 @@ -/**************************************************************************** -** -** 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 -import QtQuick.Window -import QtQuick.Controls - -Window { - width: button.width - height: button.height - visible: true - - DelayButton { - id: button - progress: 0.69 - text: "DelayButton" - anchors.centerIn: parent - } -} diff --git a/tests/manual/quickcontrols2/gifs/data/qtquickcontrols2-dial-no-wrap.qml b/tests/manual/quickcontrols2/gifs/data/qtquickcontrols2-dial-no-wrap.qml deleted file mode 100644 index 3b9b1466..00000000 --- a/tests/manual/quickcontrols2/gifs/data/qtquickcontrols2-dial-no-wrap.qml +++ /dev/null @@ -1,66 +0,0 @@ -/**************************************************************************** -** -** 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 -import QtQuick.Window -import QtQuick.Controls - -Window { - width: dial.implicitWidth + 20 - height: dial.implicitHeight + 20 - visible: true - - property alias dial: dial - - Dial { - id: dial - anchors.centerIn: parent - } -} diff --git a/tests/manual/quickcontrols2/gifs/data/qtquickcontrols2-dial-wrap.qml b/tests/manual/quickcontrols2/gifs/data/qtquickcontrols2-dial-wrap.qml deleted file mode 100644 index 317d81d2..00000000 --- a/tests/manual/quickcontrols2/gifs/data/qtquickcontrols2-dial-wrap.qml +++ /dev/null @@ -1,67 +0,0 @@ -/**************************************************************************** -** -** 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 -import QtQuick.Window -import QtQuick.Controls - -Window { - width: dial.implicitWidth + 20 - height: dial.implicitHeight + 20 - visible: true - - property alias dial: dial - - Dial { - id: dial - wrap: true - anchors.centerIn: parent - } -} diff --git a/tests/manual/quickcontrols2/gifs/data/qtquickcontrols2-drawer.qml b/tests/manual/quickcontrols2/gifs/data/qtquickcontrols2-drawer.qml deleted file mode 100644 index 32efcba8..00000000 --- a/tests/manual/quickcontrols2/gifs/data/qtquickcontrols2-drawer.qml +++ /dev/null @@ -1,99 +0,0 @@ -/**************************************************************************** -** -** 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 -import QtQuick.Controls -import QtQuick.Window - -ApplicationWindow { - id: window - width: 300 - height: 300 - visible: true - - property alias drawer: drawer - - Drawer { - id: drawer - width: window.width * 0.66 - height: window.height - rightPadding: 0 - - Rectangle { - border.width: 1 - anchors.fill: parent - - Label { - text: "Drawer" - font.pixelSize: 32 - anchors.centerIn: parent - } - } - } - - Rectangle { - border.width: 1 - anchors.fill: parent - - Label { - text: "Content" - font.pixelSize: 32 - anchors.centerIn: parent - } - } - - Rectangle { - z: 1 - color: "black" - width: 1 - height: parent.height - parent: window.overlay - } -} diff --git a/tests/manual/quickcontrols2/gifs/data/qtquickcontrols2-itemdelegate.qml b/tests/manual/quickcontrols2/gifs/data/qtquickcontrols2-itemdelegate.qml deleted file mode 100644 index 1ef9e2c0..00000000 --- a/tests/manual/quickcontrols2/gifs/data/qtquickcontrols2-itemdelegate.qml +++ /dev/null @@ -1,73 +0,0 @@ -/**************************************************************************** -** -** 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 -import QtQuick.Window -import QtQuick.Controls - -Window { - width: column.implicitWidth - height: column.implicitHeight - visible: true - - property var delegate: repeater.count > 0 ? repeater.itemAt(0) : null - - Column { - id: column - - Repeater { - id: repeater - model: ["Option 1", "Option 2", "Option 3"] - delegate: ItemDelegate { - text: modelData - } - } - } -} diff --git a/tests/manual/quickcontrols2/gifs/data/qtquickcontrols2-menu.qml b/tests/manual/quickcontrols2/gifs/data/qtquickcontrols2-menu.qml deleted file mode 100644 index 80f2c86d..00000000 --- a/tests/manual/quickcontrols2/gifs/data/qtquickcontrols2-menu.qml +++ /dev/null @@ -1,85 +0,0 @@ -/**************************************************************************** -** -** 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 -import QtQuick.Controls - -// TODO: restore and finish https://codereview.qt-project.org/#/c/123948/ -ApplicationWindow { - width: menu.contentItem.width + 20 - height: menu.contentItem.height + fileButton.height + 20 - - property alias fileButton: fileButton - property alias menu: menu - - Button { - id: fileButton - text: "File" - onClicked: menu.open() - x: 10 - y: 10 - } - Menu { - id: menu - // TODO - contentItem.x: fileButton.x - contentItem.y: fileButton.y + fileButton.height - - MenuItem { - text: "New..." - } - MenuItem { - text: "Open..." - } - MenuItem { - text: "Save" - } - } -} diff --git a/tests/manual/quickcontrols2/gifs/data/qtquickcontrols2-progressbar-indeterminate.qml b/tests/manual/quickcontrols2/gifs/data/qtquickcontrols2-progressbar-indeterminate.qml deleted file mode 100644 index 4679ea03..00000000 --- a/tests/manual/quickcontrols2/gifs/data/qtquickcontrols2-progressbar-indeterminate.qml +++ /dev/null @@ -1,67 +0,0 @@ -/**************************************************************************** -** -** 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 -import QtQuick.Window -import QtQuick.Controls - -Window { - width: progressBar.implicitWidth - height: 64 - visible: true - - property alias progressBar: progressBar - - ProgressBar { - id: progressBar - indeterminate: true - anchors.centerIn: parent - } -} diff --git a/tests/manual/quickcontrols2/gifs/data/qtquickcontrols2-progressbar.qml b/tests/manual/quickcontrols2/gifs/data/qtquickcontrols2-progressbar.qml deleted file mode 100644 index 994af450..00000000 --- a/tests/manual/quickcontrols2/gifs/data/qtquickcontrols2-progressbar.qml +++ /dev/null @@ -1,81 +0,0 @@ -/**************************************************************************** -** -** 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 -import QtQuick.Window -import QtQuick.Controls - -Window { - width: progressBar.implicitWidth - height: 64 - visible: true - - property alias progressBar: progressBar - - ProgressBar { - id: progressBar - value: 0.5 - anchors.centerIn: parent - - Timer { - running: true - interval: 500 - onTriggered: animation.start() - } - - NumberAnimation { - id: animation - target: progressBar - property: "value" - to: 1 - duration: 2000 - } - } -} diff --git a/tests/manual/quickcontrols2/gifs/data/qtquickcontrols2-radiobutton.qml b/tests/manual/quickcontrols2/gifs/data/qtquickcontrols2-radiobutton.qml deleted file mode 100644 index fec7ec9b..00000000 --- a/tests/manual/quickcontrols2/gifs/data/qtquickcontrols2-radiobutton.qml +++ /dev/null @@ -1,83 +0,0 @@ -/**************************************************************************** -** -** 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 -import QtQuick.Controls -import QtQuick.Layouts -import QtQuick.Window - -Window { - width: column.implicitWidth - height: column.implicitHeight - visible: true - - property alias control1: control1 - property alias control2: control2 - property alias control3: control3 - - ColumnLayout { - id: column - anchors.centerIn: parent - - RadioButton { - id: control1 - text: qsTr("First") - checked: true - } - RadioButton { - id: control2 - text: qsTr("Second") - } - RadioButton { - id: control3 - text: qsTr("Third") - } - } -} diff --git a/tests/manual/quickcontrols2/gifs/data/qtquickcontrols2-radiodelegate.qml b/tests/manual/quickcontrols2/gifs/data/qtquickcontrols2-radiodelegate.qml deleted file mode 100644 index a00f3209..00000000 --- a/tests/manual/quickcontrols2/gifs/data/qtquickcontrols2-radiodelegate.qml +++ /dev/null @@ -1,80 +0,0 @@ -/**************************************************************************** -** -** 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 -import QtQuick.Window -import QtQuick.Controls - -Window { - width: column.implicitWidth - height: column.implicitHeight - visible: true - - property var delegate: repeater.count > 0 ? repeater.itemAt(0) : null - - ButtonGroup { - id: buttonGroup - } - - Column { - id: column - anchors.centerIn: parent - - Repeater { - id: repeater - model: ["Option 1", "Option 2", "Option 3"] - delegate: RadioDelegate { - checked: index == 0 - text: modelData - ButtonGroup.group: buttonGroup - } - } - } -} diff --git a/tests/manual/quickcontrols2/gifs/data/qtquickcontrols2-rangeslider.qml b/tests/manual/quickcontrols2/gifs/data/qtquickcontrols2-rangeslider.qml deleted file mode 100644 index c648f998..00000000 --- a/tests/manual/quickcontrols2/gifs/data/qtquickcontrols2-rangeslider.qml +++ /dev/null @@ -1,66 +0,0 @@ -/**************************************************************************** -** -** 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 -import QtQuick.Window -import QtQuick.Controls - -Window { - width: slider.implicitWidth - height: slider.implicitHeight - visible: true - - property alias slider: slider - - RangeSlider { - id: slider - anchors.centerIn: parent - } -} diff --git a/tests/manual/quickcontrols2/gifs/data/qtquickcontrols2-scrollbar-snap.qml b/tests/manual/quickcontrols2/gifs/data/qtquickcontrols2-scrollbar-snap.qml deleted file mode 100644 index cc4d6dc2..00000000 --- a/tests/manual/quickcontrols2/gifs/data/qtquickcontrols2-scrollbar-snap.qml +++ /dev/null @@ -1,71 +0,0 @@ -/**************************************************************************** -** -** 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 -import QtQuick.Window -import QtQuick.Controls - -Window { - width: 100 - maximumHeight: 20 - visible: true - - property alias scrollbar: scrollbar - - ScrollBar { - id: scrollbar - size: 0.2 - stepSize: 0.25 - active: true - width: parent.width - anchors.centerIn: parent - orientation: Qt.Horizontal - } -} diff --git a/tests/manual/quickcontrols2/gifs/data/qtquickcontrols2-scrollbar.qml b/tests/manual/quickcontrols2/gifs/data/qtquickcontrols2-scrollbar.qml deleted file mode 100644 index e838673a..00000000 --- a/tests/manual/quickcontrols2/gifs/data/qtquickcontrols2-scrollbar.qml +++ /dev/null @@ -1,80 +0,0 @@ -/**************************************************************************** -** -** 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 -import QtQuick.Window -import QtQuick.Controls - -Window { - width: 100 - height: 120 - visible: true - color: "#eeeeee" - - property alias scrollBar: scrollBar - - ListView { - anchors.fill: parent - - ScrollBar.vertical: ScrollBar { - id: scrollBar - active: true - } - - model: 10 - delegate: Label { - text: qsTr("Item %1").arg(index + 1) - width: 100 - height: 40 - leftPadding: 10 - verticalAlignment: Text.AlignVCenter - } - } -} diff --git a/tests/manual/quickcontrols2/gifs/data/qtquickcontrols2-scrollindicator.qml b/tests/manual/quickcontrols2/gifs/data/qtquickcontrols2-scrollindicator.qml deleted file mode 100644 index be23df3b..00000000 --- a/tests/manual/quickcontrols2/gifs/data/qtquickcontrols2-scrollindicator.qml +++ /dev/null @@ -1,77 +0,0 @@ -/**************************************************************************** -** -** 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 -import QtQuick.Window -import QtQuick.Controls - -Window { - width: 100 - height: 120 - visible: true - color: "#eeeeee" - - ListView { - anchors.fill: parent - - ScrollIndicator.vertical: ScrollIndicator { - active: true - } - - model: 10 - delegate: Label { - text: qsTr("Item %1").arg(index + 1) - width: 100 - height: 40 - leftPadding: 10 - verticalAlignment: Text.AlignVCenter - } - } -} diff --git a/tests/manual/quickcontrols2/gifs/data/qtquickcontrols2-slider-snap.qml b/tests/manual/quickcontrols2/gifs/data/qtquickcontrols2-slider-snap.qml deleted file mode 100644 index 26066770..00000000 --- a/tests/manual/quickcontrols2/gifs/data/qtquickcontrols2-slider-snap.qml +++ /dev/null @@ -1,89 +0,0 @@ -/**************************************************************************** -** -** 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 -import QtQuick.Window -import QtQuick.Controls - -Window { - width: slider.implicitWidth - height: slider.implicitHeight - visible: true - - property alias slider: slider - - Slider { - id: slider - stepSize: 0.2 - anchors.centerIn: parent - - Rectangle { - anchors.fill: slider.handle - radius: width / 2 - color: slider.pressed ? "#aa666666" : "transparent" - } - - contentItem: Item { - Repeater { - id: repeater - model: 6 - - Rectangle { - x: ((slider.contentItem.width - slider.handle.width) * (index / (repeater.count - 1))) - - width / 2 + slider.handle.width / 2 - y: parent.height - width: 1 - height: 4 - color: "#888" - } - } - } - } -} diff --git a/tests/manual/quickcontrols2/gifs/data/qtquickcontrols2-slider.qml b/tests/manual/quickcontrols2/gifs/data/qtquickcontrols2-slider.qml deleted file mode 100644 index 83f652aa..00000000 --- a/tests/manual/quickcontrols2/gifs/data/qtquickcontrols2-slider.qml +++ /dev/null @@ -1,66 +0,0 @@ -/**************************************************************************** -** -** 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 -import QtQuick.Window -import QtQuick.Controls - -Window { - width: slider.implicitWidth - height: slider.implicitHeight - visible: true - - property alias slider: slider - - Slider { - id: slider - anchors.centerIn: parent - } -} diff --git a/tests/manual/quickcontrols2/gifs/data/qtquickcontrols2-stackview-pop.qml b/tests/manual/quickcontrols2/gifs/data/qtquickcontrols2-stackview-pop.qml deleted file mode 100644 index 7ddd8db8..00000000 --- a/tests/manual/quickcontrols2/gifs/data/qtquickcontrols2-stackview-pop.qml +++ /dev/null @@ -1,112 +0,0 @@ -/**************************************************************************** -** -** 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 -import QtQuick.Window -import QtQuick.Controls - -ApplicationWindow { - width: 160 - height: 160 - visible: true - color: "#eeeeee" - - property int maxDepth: 3 - - function itemText(index) { - return String.fromCharCode(65 + index); - } - - Component { - id: labelComponent - - Label { - font.pixelSize: 60 - horizontalAlignment: Text.AlignHCenter - verticalAlignment: Text.AlignVCenter - } - } - - StackView { - id: stackView - anchors.fill: parent - - Component.onCompleted: { - for (var i = 0; i < maxDepth; ++i) { - stackView.push(labelComponent, { text: itemText(i) }, StackView.Immediate); - } - } - } - - Label { - id: operationLabel - text: "pop()" - font.pixelSize: 16 - anchors.bottom: parent.bottom - anchors.horizontalCenter: parent.horizontalCenter - anchors.margins: 10 - } - - Timer { - id: operationTimer - running: true - interval: 1500 - onTriggered: { - stackView.pop(); - hideOperationTimer.start(); - } - } - - Timer { - id: hideOperationTimer - interval: operationTimer.interval - onTriggered: operationLabel.visible = false - } -} diff --git a/tests/manual/quickcontrols2/gifs/data/qtquickcontrols2-stackview-push.qml b/tests/manual/quickcontrols2/gifs/data/qtquickcontrols2-stackview-push.qml deleted file mode 100644 index 88229fce..00000000 --- a/tests/manual/quickcontrols2/gifs/data/qtquickcontrols2-stackview-push.qml +++ /dev/null @@ -1,107 +0,0 @@ -/**************************************************************************** -** -** 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 -import QtQuick.Window -import QtQuick.Controls - -ApplicationWindow { - width: 160 - height: 160 - visible: true - color: "#eeeeee" - - property int itemIndex: 0 - property int maxDepth: 3 - - function itemText(index) { - return String.fromCharCode(65 + index); - } - - Component { - id: labelComponent - - Label { - font.pixelSize: 60 - horizontalAlignment: Text.AlignHCenter - verticalAlignment: Text.AlignVCenter - } - } - - StackView { - id: stackView - anchors.fill: parent - } - - Label { - id: operationLabel - text: "push(" + itemText(Math.max(0, Math.min(maxDepth - 1, itemIndex - 1))) + ")" - font.pixelSize: 16 - anchors.bottom: parent.bottom - anchors.horizontalCenter: parent.horizontalCenter - anchors.margins: 10 - } - - Timer { - id: operationTimer - running: true - interval: 1500 - repeat: stackView.depth < maxDepth - 1 - onRepeatChanged: if (!repeat) hideOperationTimer.start() - - onTriggered: stackView.push(labelComponent, { text: itemText(itemIndex++) }) - } - - Timer { - id: hideOperationTimer - interval: operationTimer.interval * 2 - onTriggered: operationLabel.visible = false - } -} diff --git a/tests/manual/quickcontrols2/gifs/data/qtquickcontrols2-stackview-replace.qml b/tests/manual/quickcontrols2/gifs/data/qtquickcontrols2-stackview-replace.qml deleted file mode 100644 index 59885745..00000000 --- a/tests/manual/quickcontrols2/gifs/data/qtquickcontrols2-stackview-replace.qml +++ /dev/null @@ -1,112 +0,0 @@ -/**************************************************************************** -** -** 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 -import QtQuick.Window -import QtQuick.Controls - -ApplicationWindow { - width: 160 - height: 160 - visible: true - color: "#eeeeee" - - property int maxDepth: 3 - - function itemText(index) { - return String.fromCharCode(65 + index); - } - - Component { - id: labelComponent - - Label { - font.pixelSize: 60 - horizontalAlignment: Text.AlignHCenter - verticalAlignment: Text.AlignVCenter - } - } - - StackView { - id: stackView - anchors.fill: parent - - Component.onCompleted: { - for (var i = 0; i < maxDepth; ++i) { - stackView.push(labelComponent, { text: itemText(i) }, StackView.Immediate); - } - } - } - - Label { - id: operationLabel - text: "replace(D)" - font.pixelSize: 16 - anchors.bottom: parent.bottom - anchors.horizontalCenter: parent.horizontalCenter - anchors.margins: 10 - } - - Timer { - id: operationTimer - running: true - interval: 1500 - onTriggered: { - stackView.replace(labelComponent, { text: "D" }); - hideOperationTimer.start(); - } - } - - Timer { - id: hideOperationTimer - interval: operationTimer.interval - onTriggered: operationLabel.visible = false - } -} diff --git a/tests/manual/quickcontrols2/gifs/data/qtquickcontrols2-stackview-unwind.qml b/tests/manual/quickcontrols2/gifs/data/qtquickcontrols2-stackview-unwind.qml deleted file mode 100644 index a7435d2a..00000000 --- a/tests/manual/quickcontrols2/gifs/data/qtquickcontrols2-stackview-unwind.qml +++ /dev/null @@ -1,112 +0,0 @@ -/**************************************************************************** -** -** 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 -import QtQuick.Window -import QtQuick.Controls - -ApplicationWindow { - width: 160 - height: 160 - visible: true - color: "#eeeeee" - - property int maxDepth: 3 - - function itemText(index) { - return String.fromCharCode(65 + index); - } - - Component { - id: labelComponent - - Label { - font.pixelSize: 60 - horizontalAlignment: Text.AlignHCenter - verticalAlignment: Text.AlignVCenter - } - } - - StackView { - id: stackView - anchors.fill: parent - - Component.onCompleted: { - for (var i = 0; i < maxDepth; ++i) { - stackView.push(labelComponent, { text: itemText(i) }, StackView.Immediate); - } - } - } - - Label { - id: operationLabel - text: "pop(null)" - font.pixelSize: 16 - anchors.bottom: parent.bottom - anchors.horizontalCenter: parent.horizontalCenter - anchors.margins: 10 - } - - Timer { - id: operationTimer - running: true - interval: 1500 - onTriggered: { - stackView.pop(null); - hideOperationTimer.start(); - } - } - - Timer { - id: hideOperationTimer - interval: operationTimer.interval - onTriggered: operationLabel.visible = false - } -} diff --git a/tests/manual/quickcontrols2/gifs/data/qtquickcontrols2-swipedelegate-behind.qml b/tests/manual/quickcontrols2/gifs/data/qtquickcontrols2-swipedelegate-behind.qml deleted file mode 100644 index 0b18c6a3..00000000 --- a/tests/manual/quickcontrols2/gifs/data/qtquickcontrols2-swipedelegate-behind.qml +++ /dev/null @@ -1,81 +0,0 @@ -/**************************************************************************** -** -** 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 -import QtQuick.Window -import QtQuick.Controls - -Window { - width: swipeDelegate.implicitWidth - height: swipeDelegate.implicitHeight - visible: true - - property alias swipeDelegate: swipeDelegate - - SwipeDelegate { - id: swipeDelegate - text: "SwipeDelegate" - anchors.centerIn: parent - - swipe.left: null - swipe.right: null - swipe.behind: Rectangle { - width: swipeDelegate.width - height: swipeDelegate.height - color: swipeDelegate.pressed ? "#333" : "#444" - - Label { - text: "Behind Action" - color: "#fff" - anchors.centerIn: parent - } - } - } -} diff --git a/tests/manual/quickcontrols2/gifs/data/qtquickcontrols2-swipedelegate-leading-trailing.qml b/tests/manual/quickcontrols2/gifs/data/qtquickcontrols2-swipedelegate-leading-trailing.qml deleted file mode 100644 index 789fb86f..00000000 --- a/tests/manual/quickcontrols2/gifs/data/qtquickcontrols2-swipedelegate-leading-trailing.qml +++ /dev/null @@ -1,93 +0,0 @@ -/**************************************************************************** -** -** 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 -import QtQuick.Window -import QtQuick.Controls - -Window { - width: swipeDelegate.implicitWidth - height: swipeDelegate.implicitHeight - visible: true - - property alias swipeDelegate: swipeDelegate - - SwipeDelegate { - id: swipeDelegate - text: "SwipeDelegate" - anchors.centerIn: parent - - swipe.left: Rectangle { - width: swipeDelegate.width - height: swipeDelegate.height - color: swipeDelegate.pressed ? "#333" : "#444" - anchors.right: parent.left - - Label { - text: "Left Action" - color: "#fff" - anchors.centerIn: parent - } - } - - swipe.right: Rectangle { - width: swipeDelegate.width - height: swipeDelegate.height - color: swipeDelegate.pressed ? "#333" : "#444" - anchors.left: parent.right - - Label { - text: "Right Action" - color: "#fff" - anchors.centerIn: parent - } - } - } -} diff --git a/tests/manual/quickcontrols2/gifs/data/qtquickcontrols2-swipedelegate.qml b/tests/manual/quickcontrols2/gifs/data/qtquickcontrols2-swipedelegate.qml deleted file mode 100644 index c78fc6d4..00000000 --- a/tests/manual/quickcontrols2/gifs/data/qtquickcontrols2-swipedelegate.qml +++ /dev/null @@ -1,92 +0,0 @@ -/**************************************************************************** -** -** 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 -import QtQuick.Window -import QtQuick.Controls - -Window { - width: swipeDelegate.implicitWidth - height: swipeDelegate.implicitHeight - visible: true - - property alias swipeDelegate: swipeDelegate - - SwipeDelegate { - id: swipeDelegate - text: "SwipeDelegate" - anchors.centerIn: parent - - swipe.left: Rectangle { - width: swipeDelegate.width - height: swipeDelegate.height - color: swipeDelegate.pressed ? "#333" : "#444" - - Label { - text: "Left Action" - color: "#fff" - anchors.centerIn: parent - } - } - - swipe.right: Rectangle { - anchors.fill: parent - width: swipeDelegate.width - height: swipeDelegate.height - color: swipeDelegate.pressed ? "#333" : "#444" - - Label { - text: "Right Action" - color: "#fff" - anchors.centerIn: parent - } - } - } -} diff --git a/tests/manual/quickcontrols2/gifs/data/qtquickcontrols2-swipeview.qml b/tests/manual/quickcontrols2/gifs/data/qtquickcontrols2-swipeview.qml deleted file mode 100644 index 9004ff18..00000000 --- a/tests/manual/quickcontrols2/gifs/data/qtquickcontrols2-swipeview.qml +++ /dev/null @@ -1,99 +0,0 @@ -/**************************************************************************** -** -** 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 -import QtQuick.Window -import QtQuick.Controls - -Window { - width: 300 - height: 300 - visible: true - - property alias swipeView: view - - Rectangle { - border.width: 1 - anchors.fill: parent - } - - SwipeView { - id: view - anchors.fill: parent - - Label { - text: "First\nPage" - horizontalAlignment: Qt.AlignHCenter - verticalAlignment: Qt.AlignVCenter - } - - Label { - text: "Second\nPage" - horizontalAlignment: Qt.AlignHCenter - verticalAlignment: Qt.AlignVCenter - } - - Label { - text: "Third\nPage" - horizontalAlignment: Qt.AlignHCenter - verticalAlignment: Qt.AlignVCenter - } - } - - PageIndicator { - id: indicator - - count: view.count - currentIndex: view.currentIndex - - anchors.bottom: view.bottom - anchors.horizontalCenter: parent.horizontalCenter - } -} diff --git a/tests/manual/quickcontrols2/gifs/data/qtquickcontrols2-switch.qml b/tests/manual/quickcontrols2/gifs/data/qtquickcontrols2-switch.qml deleted file mode 100644 index a9497bde..00000000 --- a/tests/manual/quickcontrols2/gifs/data/qtquickcontrols2-switch.qml +++ /dev/null @@ -1,64 +0,0 @@ -/**************************************************************************** -** -** 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 -import QtQuick.Window -import QtQuick.Controls - -Window { - width: 100 - height: 50 - visible: true - - Switch { - id: theSwitch - anchors.centerIn: parent - } -} diff --git a/tests/manual/quickcontrols2/gifs/data/qtquickcontrols2-switchdelegate.qml b/tests/manual/quickcontrols2/gifs/data/qtquickcontrols2-switchdelegate.qml deleted file mode 100644 index 1caece5b..00000000 --- a/tests/manual/quickcontrols2/gifs/data/qtquickcontrols2-switchdelegate.qml +++ /dev/null @@ -1,74 +0,0 @@ -/**************************************************************************** -** -** 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 -import QtQuick.Window -import QtQuick.Controls - -Window { - width: column.implicitWidth - height: column.implicitHeight - visible: true - - property var delegate: repeater.count > 0 ? repeater.itemAt(0) : null - - Column { - id: column - anchors.centerIn: parent - - Repeater { - id: repeater - model: ["Option 1", "Option 2", "Option 3"] - delegate: SwitchDelegate { - text: modelData - } - } - } -} diff --git a/tests/manual/quickcontrols2/gifs/data/qtquickcontrols2-tabbar.qml b/tests/manual/quickcontrols2/gifs/data/qtquickcontrols2-tabbar.qml deleted file mode 100644 index a973cef8..00000000 --- a/tests/manual/quickcontrols2/gifs/data/qtquickcontrols2-tabbar.qml +++ /dev/null @@ -1,68 +0,0 @@ -/**************************************************************************** -** -** 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 -import QtQuick.Window -import QtQuick.Controls - -Window { - width: 300 - height: tabBar.height - visible: true - - TabBar { - id: tabBar - width: parent.width - - TabButton { text: qsTr("Home") } - TabButton { text: qsTr("Discover") } - TabButton { text: qsTr("Activity") } - } -} diff --git a/tests/manual/quickcontrols2/gifs/data/qtquickcontrols2-tumbler-wrap.qml b/tests/manual/quickcontrols2/gifs/data/qtquickcontrols2-tumbler-wrap.qml deleted file mode 100644 index bfad311e..00000000 --- a/tests/manual/quickcontrols2/gifs/data/qtquickcontrols2-tumbler-wrap.qml +++ /dev/null @@ -1,104 +0,0 @@ -/**************************************************************************** -** -** 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 -import QtQuick.Window -import QtQuick.Controls - -Window { - width: frame.implicitWidth + 10 - height: frame.implicitHeight + 10 - visible: true - - function formatText(count, modelData) { - var data = count === 12 ? modelData + 1 : modelData; - return data.toString().length < 2 ? "0" + data : data; - } - - Component { - id: delegateComponent - - Label { - text: formatText(Tumbler.tumbler.count, modelData) - opacity: 1.0 - Math.abs(Tumbler.displacement) / (Tumbler.tumbler.visibleItemCount / 2) - horizontalAlignment: Text.AlignHCenter - verticalAlignment: Text.AlignVCenter - } - } - - Frame { - id: frame - padding: 0 - anchors.centerIn: parent - - Row { - id: row - - Tumbler { - id: hoursTumbler - model: 12 - delegate: delegateComponent - } - - Tumbler { - id: minutesTumbler - model: 60 - delegate: delegateComponent - } - - Tumbler { - id: amPmTumbler - wrap: false - model: ["AM", "PM"] - delegate: delegateComponent - } - } - } -} diff --git a/tests/manual/quickcontrols2/gifs/eventcapturer.cpp b/tests/manual/quickcontrols2/gifs/eventcapturer.cpp deleted file mode 100644 index ad88b1db..00000000 --- a/tests/manual/quickcontrols2/gifs/eventcapturer.cpp +++ /dev/null @@ -1,236 +0,0 @@ -/**************************************************************************** -** -** Copyright (C) 2017 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:LGPL3$ -** 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 http://www.qt.io/terms-conditions. For further -** information use the contact form at http://www.qt.io/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 3 as published by the Free Software -** Foundation and appearing in the file LICENSE.LGPLv3 included in the -** packaging of this file. Please review the following information to -** ensure the GNU Lesser General Public License version 3 requirements -** will be met: https://www.gnu.org/licenses/lgpl.html. -** -** GNU General Public License Usage -** Alternatively, this file may be used under the terms of the GNU -** General Public License version 2.0 or later 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 2.0 requirements will be -** met: http://www.gnu.org/licenses/gpl-2.0.html. -** -** $QT_END_LICENSE$ -** -****************************************************************************/ - -#include "eventcapturer.h" - -#include <QDebug> -#include <QMetaEnum> -#include <QMouseEvent> -#include <QTimer> - -/*! - Installs an event filter on a particular object to record specific events - that can be retrieved as C++ source code. - - For example: - - \code - EventCapturer eventCapturer; - - view.show(); - - eventCapturer.startCapturing(&view, 5000); - - // interact with the view here, in order for the events to be captured - - qDebug() << "\n"; - const auto capturedEvents = eventCapturer.capturedEvents(); - for (CapturedEvent event : capturedEvents) - qDebug().noquote() << event.cppCommand(); - \endcode - - It is recommended to set the \c Qt::FramelessWindowHint flag on the view - (this code has not been tested under other usage): - - view.setFlags(view.flags() | Qt::FramelessWindowHint); -*/ - -EventCapturer::EventCapturer(QObject *parent) : - QObject(parent), - mEventSource(nullptr), - mStopCaptureKey(Qt::Key_Escape), - mMoveEventTrimFlags(TrimNone), - mDuration(0), - mLastCaptureTime(0) -{ - mCapturedEventTypes << QEvent::MouseButtonPress << QEvent::MouseButtonRelease << QEvent::MouseButtonDblClick << QEvent::MouseMove; -} - -void EventCapturer::startCapturing(QObject *eventSource, int duration) -{ - mEventSource = eventSource; - - if (!mEventSource) - return; - - mEventSource->installEventFilter(this); - mDelayTimer.start(); - mDuration = duration; - mLastCaptureTime = 0; - - QTimer::singleShot(mDuration, this, SLOT(stopCapturing())); -} - -void EventCapturer::setStopCaptureKey(Qt::Key stopCaptureKey) -{ - mStopCaptureKey = stopCaptureKey; -} - -/*! - Move events generate a lot of clutter, and for most cases they're not - necessary. Here's a list of scenarios where various trim flags make sense: - - Scenario Flags - - Record the mouse cursor TrimNone - Record mouseover/hover effects TrimNone - Dragging/flicking TrimAll -*/ -void EventCapturer::setMoveEventTrimFlags(MoveEventTrimFlags trimFlags) -{ - mMoveEventTrimFlags = trimFlags; -} - -QSet<QEvent::Type> EventCapturer::capturedEventTypes() -{ - return mCapturedEventTypes; -} - -void EventCapturer::setCapturedEventTypes(QSet<QEvent::Type> types) -{ - mCapturedEventTypes = types; -} - -QList<CapturedEvent> EventCapturer::capturedEvents() const -{ - if (mMoveEventTrimFlags == TrimNone || mEvents.isEmpty()) - return mEvents; - - // We can't easily trim "trailing" move events as they come in without - // storing them in some form, so we just do it all here. - - int firstEventIndex = 0; - int lastEventIndex = mEvents.size() - 1; - // The accumulated delay of all of the move events that we remove. - // We keep this in order to maintain the correct timing between events. - int accumulatedDelay = 0; - - bool encounteredNonMoveEvent = false; - if (mMoveEventTrimFlags.testFlag(TrimLeading)) { - for (int eventIndex = 0; !encounteredNonMoveEvent && eventIndex < mEvents.size(); ++eventIndex) { - const CapturedEvent event = mEvents.at(eventIndex); - if (event.type() != QEvent::MouseMove) { - encounteredNonMoveEvent = true; - firstEventIndex = eventIndex; - } else { - accumulatedDelay += event.delay(); - } - } - } - - if (mMoveEventTrimFlags.testFlag(TrimTrailing)) { - encounteredNonMoveEvent = false; - for (int eventIndex = mEvents.size() - 1; !encounteredNonMoveEvent && eventIndex >= 0; --eventIndex) { - const CapturedEvent event = mEvents.at(eventIndex); - if (event.type() != QEvent::MouseMove) { - encounteredNonMoveEvent = true; - lastEventIndex = eventIndex; - // Don't need to bother with delays for trailing mouse moves, as there is nothing after them. - } - } - } - - // Before we go any further, we need to copy the subset of commands while - // the indices are still valid - we could be removing from the middle of - // the commands next. Also, the function is const, so we can't remove from - // mEvents anyway. :) - QList<CapturedEvent> events = mEvents.mid(firstEventIndex, (lastEventIndex - firstEventIndex) + 1); - - if (mMoveEventTrimFlags.testFlag(TrimAfterReleases)) { - bool lastNonMoveEventWasRelease = false; - for (int eventIndex = 0; eventIndex < events.size(); ) { - CapturedEvent &event = events[eventIndex]; - if (event.type() == QEvent::MouseMove && lastNonMoveEventWasRelease) { - accumulatedDelay += event.delay(); - events.remove(eventIndex); - } else { - lastNonMoveEventWasRelease = event.type() == QEvent::MouseButtonRelease; - if (event.type() == QEvent::MouseButtonPress) { - event.setDelay(event.delay() + accumulatedDelay); - accumulatedDelay = 0; - } - ++eventIndex; - } - } - } - - return events; -} - -bool EventCapturer::eventFilter(QObject *object, QEvent *event) -{ - if (event->type() == QEvent::KeyPress && static_cast<QKeyEvent*>(event)->key() == mStopCaptureKey) { - stopCapturing(); - return true; - } - - if (object != mEventSource) - return false; - - if (!mCapturedEventTypes.contains(event->type())) - return false; - - if (event->type() == QEvent::MouseButtonPress) { - captureEvent(event); - } else if (event->type() == QEvent::MouseButtonRelease) { - captureEvent(event); - } else if (event->type() == QEvent::MouseButtonDblClick) { - captureEvent(event); - } else if (event->type() == QEvent::MouseMove) { - captureEvent(event); - } else { - qWarning() << "No support for event type" << QMetaEnum::fromType<QEvent::Type>().valueToKey(event->type()); - } - return false; -} - -void EventCapturer::stopCapturing() -{ - if (mEventSource) { - mEventSource->removeEventFilter(this); - mEventSource = 0; - mDuration = 0; - mLastCaptureTime = 0; - } -} - -void EventCapturer::captureEvent(const QEvent *event) -{ - qDebug() << "captured" << event->type(); - CapturedEvent capturedEvent(*event, mDelayTimer.elapsed() - mLastCaptureTime); - mEvents.append(capturedEvent); - mLastCaptureTime = mDelayTimer.elapsed(); -} diff --git a/tests/manual/quickcontrols2/gifs/eventcapturer.h b/tests/manual/quickcontrols2/gifs/eventcapturer.h deleted file mode 100644 index ea01299f..00000000 --- a/tests/manual/quickcontrols2/gifs/eventcapturer.h +++ /dev/null @@ -1,97 +0,0 @@ -/**************************************************************************** -** -** Copyright (C) 2017 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:LGPL3$ -** 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 http://www.qt.io/terms-conditions. For further -** information use the contact form at http://www.qt.io/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 3 as published by the Free Software -** Foundation and appearing in the file LICENSE.LGPLv3 included in the -** packaging of this file. Please review the following information to -** ensure the GNU Lesser General Public License version 3 requirements -** will be met: https://www.gnu.org/licenses/lgpl.html. -** -** GNU General Public License Usage -** Alternatively, this file may be used under the terms of the GNU -** General Public License version 2.0 or later 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 2.0 requirements will be -** met: http://www.gnu.org/licenses/gpl-2.0.html. -** -** $QT_END_LICENSE$ -** -****************************************************************************/ - -#ifndef EVENTCAPTURER_H -#define EVENTCAPTURER_H - -#include <QObject> -#include <QElapsedTimer> -#include <QEvent> -#include <QList> -#include <QPoint> -#include <QSet> - -#include "capturedevent.h" - -class EventCapturer : public QObject -{ - Q_OBJECT - -public: - EventCapturer(QObject *parent = 0); - - enum MoveEventTrimFlag - { - TrimNone = 0x0, - TrimLeading = 0x1, - TrimTrailing = 0x2, - TrimAfterReleases = 0x4, - TrimAll = TrimLeading | TrimTrailing | TrimAfterReleases - }; - - Q_DECLARE_FLAGS(MoveEventTrimFlags, MoveEventTrimFlag) - - void setStopCaptureKey(Qt::Key stopCaptureKey); - void setMoveEventTrimFlags(MoveEventTrimFlags trimFlags); - - void startCapturing(QObject *eventSource, int duration); - - QSet<QEvent::Type> capturedEventTypes(); - void setCapturedEventTypes(QSet<QEvent::Type> types); - - QList<CapturedEvent> capturedEvents() const; -protected: - bool eventFilter(QObject *object, QEvent *event) override; - -private slots: - void stopCapturing(); - -private: - void captureEvent(const QEvent *event); - - QObject *mEventSource; - QSet<QEvent::Type> mCapturedEventTypes; - Qt::Key mStopCaptureKey; - MoveEventTrimFlags mMoveEventTrimFlags; - QElapsedTimer mDelayTimer; - QList<CapturedEvent> mEvents; - int mDuration; - int mLastCaptureTime; -}; - -Q_DECLARE_OPERATORS_FOR_FLAGS(EventCapturer::MoveEventTrimFlags) - -#endif // EVENTCAPTURER_H diff --git a/tests/manual/quickcontrols2/gifs/gifrecorder.cpp b/tests/manual/quickcontrols2/gifs/gifrecorder.cpp deleted file mode 100644 index 4bc7c9cd..00000000 --- a/tests/manual/quickcontrols2/gifs/gifrecorder.cpp +++ /dev/null @@ -1,327 +0,0 @@ -/**************************************************************************** -** -** Copyright (C) 2017 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:LGPL3$ -** 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 http://www.qt.io/terms-conditions. For further -** information use the contact form at http://www.qt.io/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 3 as published by the Free Software -** Foundation and appearing in the file LICENSE.LGPLv3 included in the -** packaging of this file. Please review the following information to -** ensure the GNU Lesser General Public License version 3 requirements -** will be met: https://www.gnu.org/licenses/lgpl.html. -** -** GNU General Public License Usage -** Alternatively, this file may be used under the terms of the GNU -** General Public License version 2.0 or later 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 2.0 requirements will be -** met: http://www.gnu.org/licenses/gpl-2.0.html. -** -** $QT_END_LICENSE$ -** -****************************************************************************/ - -#include "gifrecorder.h" - -#include <QLoggingCategory> -#include <QQmlComponent> -#include <QQuickItem> -#include <QtTest> - -/*! - QProcess wrapper around byzanz-record (sudo apt-get install byzanz). - - \note The following programs must be installed if \c setHighQuality(true) - is called: - - \li \e ffmpeg (sudo apt-get install ffmpeg) - \li \e convert (sudo apt-get install imagemagick) - \li \e gifsicle (sudo apt-get install gifsicle) - - It is recommended to set the \c Qt::FramelessWindowHint flag on the view - (this code has not been tested under other usage): - - view.setFlags(view.flags() | Qt::FramelessWindowHint); -*/ - -Q_LOGGING_CATEGORY(lcGifRecorder, "qt.gifrecorder") - -namespace { - static const char *byzanzProcessName = "byzanz-record"; -} - -GifRecorder::GifRecorder() : - QObject(nullptr), - mWindow(nullptr), - mHighQuality(false), - mRecordingDuration(0), - mRecordCursor(false), - mByzanzProcessFinished(false) -{ - if (lcGifRecorder().isDebugEnabled()) { - // Ensures output from the process goes directly into the console. - mByzanzProcess.setProcessChannelMode(QProcess::ForwardedChannels); - } - - connect(&mByzanzProcess, SIGNAL(errorOccurred(QProcess::ProcessError)), this, SLOT(onByzanzError())); - connect(&mByzanzProcess, SIGNAL(finished(int)), this, SLOT(onByzanzFinished())); -} - -void GifRecorder::setRecordingDuration(int duration) -{ - QVERIFY2(duration >= 1, qPrintable(QString::fromLatin1("Recording duration %1 must be larger than 1 second").arg(duration))); - QVERIFY2(duration < 20, qPrintable(QString::fromLatin1("Recording duration %1 must be less than 20 seconds").arg(duration))); - - mRecordingDuration = duration; -} - -void GifRecorder::setRecordCursor(bool recordCursor) -{ - mRecordCursor = recordCursor; -} - -void GifRecorder::setDataDirPath(const QString &path) -{ - QVERIFY2(!path.isEmpty(), "Data directory path cannot be empty"); - mDataDirPath = path; -} - -void GifRecorder::setOutputDir(const QDir &dir) -{ - QVERIFY2(dir.exists(), "Output directory must exist"); - mOutputDir = dir; -} - -void GifRecorder::setOutputFileBaseName(const QString &fileBaseName) -{ - mOutputFileBaseName = fileBaseName; -} - -void GifRecorder::setQmlFileName(const QString &fileName) -{ - QVERIFY2(!fileName.isEmpty(), "QML file name cannot be empty"); - mQmlInputFileName = fileName; -} - -void GifRecorder::setView(QQuickWindow *view) -{ - this->mWindow = view; -} - -/*! - If \a highQuality is \c true, records as .flv (lossless) and then converts - to .gif in order to retain more color information, at the expense of a - larger file size. Otherwise, records directly to .gif using a limited - amount of colors, resulting in a smaller file size. - - Set this to \c true if any of the items have transparency, for example. - - The default value is \c false. -*/ -void GifRecorder::setHighQuality(bool highQuality) -{ - mHighQuality = highQuality; -} - -QQuickWindow *GifRecorder::window() const -{ - return mWindow; -} - -namespace { - struct ProcessWaitResult { - bool success; - QString errorMessage; - }; - - ProcessWaitResult waitForProcessToStart(QProcess &process, const QString &processName, const QString &args) - { - qCDebug(lcGifRecorder) << "Starting" << processName << "with the following arguments:" << args; - const QString command = processName + QLatin1Char(' ') + args; - process.start(command); - if (!process.waitForStarted(1000)) { - QString errorMessage = QString::fromLatin1("Could not launch %1 with the following arguments: %2\nError:\n%3"); - errorMessage = errorMessage.arg(processName).arg(args).arg(process.errorString()); - return { false, errorMessage }; - } - - qCDebug(lcGifRecorder) << "Successfully started" << processName; - return { true, QString() }; - } - - ProcessWaitResult waitForProcessToFinish(QProcess &process, const QString &processName, int waitDuration) - { - if (!process.waitForFinished(waitDuration) || process.exitCode() != 0) { - QString errorMessage = QString::fromLatin1("\"%1\" failed to finish (exit code %2): %3"); - errorMessage = errorMessage.arg(processName).arg(process.exitCode()).arg(process.errorString()); - return { false, errorMessage }; - } - - qCDebug(lcGifRecorder) << processName << "finished"; - return { true, QString() }; - } -} - -void GifRecorder::start() -{ - QDir gifQmlDir(mDataDirPath); - QVERIFY(gifQmlDir.entryList().contains(mQmlInputFileName)); - - const QString qmlPath = gifQmlDir.absoluteFilePath(mQmlInputFileName); - mEngine.load(QUrl::fromLocalFile(qmlPath)); - mWindow = qobject_cast<QQuickWindow*>(mEngine.rootObjects().first()); - QVERIFY2(mWindow, "Top level item must be a window"); - - mWindow->setFlags(mWindow->flags() | Qt::FramelessWindowHint); - - mWindow->show(); - mWindow->requestActivate(); - QVERIFY(QTest::qWaitForWindowActive(mWindow, 500)); - QVERIFY(QTest::qWaitForWindowExposed(mWindow, 500)); - // For some reason, whatever is behind the window is sometimes - // in the recording, so add this delay to be extra sure that it isn't. - QTest::qWait(200); - - if (mOutputFileBaseName.isEmpty()) { - mOutputFileBaseName = mOutputDir.absoluteFilePath(mQmlInputFileName); - mOutputFileBaseName.replace(".qml", ""); - } - - mByzanzOutputFileName = mOutputDir.absoluteFilePath(mOutputFileBaseName); - if (mHighQuality) { - mByzanzOutputFileName.append(QLatin1String(".flv")); - mGifFileName = mByzanzOutputFileName; - mGifFileName.replace(QLatin1String(".flv"), QLatin1String(".gif")); - } else { - mByzanzOutputFileName.append(QLatin1String(".gif")); - } - - const QPoint globalWindowPos = mWindow->mapToGlobal(QPoint(0, 0)); - QString args = QLatin1String("-d %1 -v %2 -x %3 -y %4 -w %5 -h %6 %7"); - args = args.arg(QString::number(mRecordingDuration)) - .arg(mRecordCursor ? QStringLiteral("-c") : QString()) - .arg(QString::number(globalWindowPos.x())) - .arg(QString::number(globalWindowPos.y())) - .arg(QString::number(mWindow->width())) - .arg(QString::number(mWindow->height())) - .arg(mByzanzOutputFileName); - - - // https://bugs.launchpad.net/ubuntu/+source/byzanz/+bug/1483581 - // It seems that byzanz-record will cut a recording short if there are no - // screen repaints, no matter what format it outputs. This can be tested - // manually from the command line by recording any section of the screen - // without moving the mouse and then running avprobe on the resulting .flv. - // Our workaround is to force view updates. - connect(&mEventTimer, SIGNAL(timeout()), mWindow, SLOT(update())); - mEventTimer.start(100); - - const ProcessWaitResult result = waitForProcessToStart(mByzanzProcess, byzanzProcessName, args); - if (!result.success) - QFAIL(qPrintable(result.errorMessage)); -} - -void GifRecorder::waitForFinish() -{ - // Give it an extra couple of seconds on top of its recording duration. - const int recordingDurationMs = mRecordingDuration * 1000; - const int waitDuration = recordingDurationMs + 2000; - QTRY_VERIFY_WITH_TIMEOUT(mByzanzProcessFinished, waitDuration); - - mEventTimer.stop(); - - if (!QFileInfo::exists(mByzanzOutputFileName)) { - const QString message = QString::fromLatin1( - "The process said it finished successfully, but %1 was not generated.").arg(mByzanzOutputFileName); - QFAIL(qPrintable(message)); - } - - if (mHighQuality) { - // Indicate the end of recording and the beginning of conversion. - QQmlComponent busyComponent(&mEngine); - busyComponent.setData("import QtQuick; import QtQuick.Controls; Rectangle { anchors.fill: parent; " \ - "BusyIndicator { width: 32; height: 32; anchors.centerIn: parent } }", QUrl()); - QCOMPARE(busyComponent.status(), QQmlComponent::Ready); - QQuickItem *busyRect = qobject_cast<QQuickItem*>(busyComponent.create()); - QVERIFY(busyRect); - busyRect->setParentItem(mWindow->contentItem()); - QSignalSpy spy(mWindow, SIGNAL(frameSwapped())); - QVERIFY(spy.wait()); - - // Start ffmpeg and send its output to imagemagick's convert command. - // Based on the example in the documentation for QProcess::setStandardOutputProcess(). - QProcess ffmpegProcess; - QProcess convertProcess; - ffmpegProcess.setStandardOutputProcess(&convertProcess); - - const QString ffmpegProcessName = QStringLiteral("ffmpeg"); - const QString ffmpegArgs = QString::fromLatin1("-i %1 -r 20 -f image2pipe -vcodec ppm -").arg(mByzanzOutputFileName); - ProcessWaitResult result = waitForProcessToStart(ffmpegProcess, ffmpegProcessName, ffmpegArgs); - if (!result.success) - QFAIL(qPrintable(result.errorMessage)); - - const QString convertProcessName = QStringLiteral("convert"); - const QString convertArgs = QString::fromLatin1("-delay 5 -loop 0 - %1").arg(mGifFileName); - - result = waitForProcessToStart(convertProcess, convertProcessName, convertArgs); - if (!result.success) - QFAIL(qPrintable(result.errorMessage)); - - result = waitForProcessToFinish(ffmpegProcess, ffmpegProcessName, waitDuration); - if (!result.success) - QFAIL(qPrintable(result.errorMessage)); - // Conversion can take a bit longer, so double the wait time. - result = waitForProcessToFinish(convertProcess, convertProcessName, waitDuration * 2); - if (!result.success) - QFAIL(qPrintable(result.errorMessage)); - - const QString gifsicleProcessName = QStringLiteral("gifsicle"); - const QString verbose = lcGifRecorder().isDebugEnabled() ? QStringLiteral("-V") : QString(); - - // --colors 256 stops the warning about local color tables being used, and results in smaller files, - // but it seems to affect the duration of the GIF (checked with exiftool), so we don't use it. - // For example, the slider GIF has the following attributes with and without the option: - // With Without - // Frame Count 57 61 - // Duration 2.85 seconds 3.05 seconds - // File size 11 kB 13 kB - const QString gifsicleArgs = QString::fromLatin1("%1 -b -O %2").arg(verbose).arg(mGifFileName); - QProcess gifsicleProcess; - if (lcGifRecorder().isDebugEnabled()) - gifsicleProcess.setProcessChannelMode(QProcess::ForwardedChannels); - result = waitForProcessToStart(gifsicleProcess, gifsicleProcessName, gifsicleArgs); - if (!result.success) - QFAIL(qPrintable(result.errorMessage)); - result = waitForProcessToFinish(gifsicleProcess, gifsicleProcessName, waitDuration); - if (!result.success) - QFAIL(qPrintable(result.errorMessage)); - - if (QFile::exists(mByzanzOutputFileName)) - QVERIFY(QFile::remove(mByzanzOutputFileName)); - } -} - -void GifRecorder::onByzanzError() -{ - const QString message = QString::fromLatin1("%1 failed to finish: %2"); - QFAIL(qPrintable(message.arg(byzanzProcessName).arg(mByzanzProcess.errorString()))); -} - -void GifRecorder::onByzanzFinished() -{ - qCDebug(lcGifRecorder) << byzanzProcessName << "finished"; - mByzanzProcessFinished = true; -} diff --git a/tests/manual/quickcontrols2/gifs/gifrecorder.h b/tests/manual/quickcontrols2/gifs/gifrecorder.h deleted file mode 100644 index 30d06b11..00000000 --- a/tests/manual/quickcontrols2/gifs/gifrecorder.h +++ /dev/null @@ -1,92 +0,0 @@ -/**************************************************************************** -** -** Copyright (C) 2017 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:LGPL3$ -** 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 http://www.qt.io/terms-conditions. For further -** information use the contact form at http://www.qt.io/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 3 as published by the Free Software -** Foundation and appearing in the file LICENSE.LGPLv3 included in the -** packaging of this file. Please review the following information to -** ensure the GNU Lesser General Public License version 3 requirements -** will be met: https://www.gnu.org/licenses/lgpl.html. -** -** GNU General Public License Usage -** Alternatively, this file may be used under the terms of the GNU -** General Public License version 2.0 or later 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 2.0 requirements will be -** met: http://www.gnu.org/licenses/gpl-2.0.html. -** -** $QT_END_LICENSE$ -** -****************************************************************************/ - -#ifndef GIFRECORDER_H -#define GIFRECORDER_H - -#include <QObject> -#include <QProcess> -#include <QQmlApplicationEngine> -#include <QQuickWindow> -#include <QDir> -#include <QString> -#include <QTimer> - -class GifRecorder : public QObject -{ - Q_OBJECT - -public: - GifRecorder(); - - void setRecordingDuration(int duration); - void setRecordCursor(bool recordCursor); - void setDataDirPath(const QString &path); - void setOutputDir(const QDir &dir); - void setOutputFileBaseName(const QString &fileBaseName); - void setQmlFileName(const QString &fileName); - void setView(QQuickWindow *mWindow); - void setHighQuality(bool highQuality); - - QQuickWindow *window() const; - - void start(); - bool hasStarted() const; - void waitForFinish(); - -private slots: - void onByzanzError(); - void onByzanzFinished(); - -private: - QString mDataDirPath; - QDir mOutputDir; - QString mOutputFileBaseName; - QString mByzanzOutputFileName; - QString mGifFileName; - QString mQmlInputFileName; - QQmlApplicationEngine mEngine; - QQuickWindow *mWindow; - bool mHighQuality; - int mRecordingDuration; - bool mRecordCursor; - - QProcess mByzanzProcess; - bool mByzanzProcessFinished; - QTimer mEventTimer; -}; - -#endif // GIFRECORDER_H diff --git a/tests/manual/quickcontrols2/gifs/gifs.pro b/tests/manual/quickcontrols2/gifs/gifs.pro deleted file mode 100644 index a5bb72c7..00000000 --- a/tests/manual/quickcontrols2/gifs/gifs.pro +++ /dev/null @@ -1,20 +0,0 @@ -TEMPLATE = app -TARGET = tst_gifs - -QT += quick testlib -CONFIG += testcase -macos:CONFIG -= app_bundle - -HEADERS += \ - $$PWD/gifrecorder.h \ - $$PWD/eventcapturer.h \ - capturedevent.h - -SOURCES += \ - $$PWD/tst_gifs.cpp \ - $$PWD/gifrecorder.cpp \ - $$PWD/eventcapturer.cpp \ - capturedevent.cpp - -TESTDATA += \ - $$PWD/data/* diff --git a/tests/manual/quickcontrols2/gifs/tst_gifs.cpp b/tests/manual/quickcontrols2/gifs/tst_gifs.cpp deleted file mode 100644 index 80c3fd9f..00000000 --- a/tests/manual/quickcontrols2/gifs/tst_gifs.cpp +++ /dev/null @@ -1,1052 +0,0 @@ -/**************************************************************************** -** -** Copyright (C) 2017 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:LGPL3$ -** 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 http://www.qt.io/terms-conditions. For further -** information use the contact form at http://www.qt.io/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 3 as published by the Free Software -** Foundation and appearing in the file LICENSE.LGPLv3 included in the -** packaging of this file. Please review the following information to -** ensure the GNU Lesser General Public License version 3 requirements -** will be met: https://www.gnu.org/licenses/lgpl.html. -** -** GNU General Public License Usage -** Alternatively, this file may be used under the terms of the GNU -** General Public License version 2.0 or later 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 2.0 requirements will be -** met: http://www.gnu.org/licenses/gpl-2.0.html. -** -** $QT_END_LICENSE$ -** -****************************************************************************/ - -#include <QtTest> -#include <QtQuick> - -#include "gifrecorder.h" -#include "eventcapturer.h" - -//#define GENERATE_EVENT_CODE - -class tst_Gifs : public QObject -{ - Q_OBJECT - -private slots: - void initTestCase(); - - void tumblerWrap(); - void slider(); - void sliderSnap_data(); - void sliderSnap(); - void rangeSlider(); - void busyIndicator(); - void switchGif(); - void button_data(); - void button(); - void tabBar(); - void menu(); - void swipeView(); - void swipeDelegate_data(); - void swipeDelegate(); - void swipeDelegateBehind(); - void delegates_data(); - void delegates(); - void dial_data(); - void dial(); - void scrollBar(); - void scrollBarSnap_data(); - void scrollBarSnap(); - void scrollIndicator(); - void progressBar_data(); - void progressBar(); - void triState_data(); - void triState(); - void checkables_data(); - void checkables(); - void comboBox(); - void stackView_data(); - void stackView(); - void drawer(); - void delayButton(); - -private: - void moveSmoothly(QQuickWindow *window, const QPoint &from, const QPoint &to, int movements, - QEasingCurve::Type easingCurveType = QEasingCurve::OutQuint, int movementDelay = 15); - void moveSmoothlyAlongArc(QQuickWindow *window, QPoint arcCenter, qreal distanceFromCenter, - qreal startAngleRadians, qreal endAngleRadians, QEasingCurve::Type easingCurveType = QEasingCurve::OutQuint); - - QString dataDirPath; - QDir outputDir; -}; - -void tst_Gifs::initTestCase() -{ - dataDirPath = QFINDTESTDATA("data"); - QVERIFY(!dataDirPath.isEmpty()); - qInfo() << "data directory:" << dataDirPath; - - outputDir = QDir(QDir::current().filePath("gifs")); - QVERIFY(outputDir.exists() || QDir::current().mkpath("gifs")); - qInfo() << "output directory:" << outputDir.absolutePath(); -} - -void tst_Gifs::moveSmoothly(QQuickWindow *window, const QPoint &from, const QPoint &to, - int movements, QEasingCurve::Type easingCurveType, int movementDelay) -{ - QEasingCurve curve(easingCurveType); - int xDifference = to.x() - from.x(); - int yDifference = to.y() - from.y(); - for (int movement = 0; movement < movements; ++movement) { - QPoint pos = QPoint( - from.x() + qRound(curve.valueForProgress(movement / qreal(qAbs(xDifference))) * xDifference), - from.y() + qRound(curve.valueForProgress(movement / qreal(qAbs(yDifference))) * yDifference)); - QTest::mouseMove(window, pos, movementDelay); - } -} - -QPoint posAlongArc(QPoint arcCenter, qreal startAngleRadians, qreal endAngleRadians, - qreal distanceFromCenter, qreal progress, QEasingCurve::Type easingCurveType) -{ - QEasingCurve curve(easingCurveType); - const qreal angle = startAngleRadians + curve.valueForProgress(progress) * (endAngleRadians - startAngleRadians); - return (arcCenter - QTransform().rotateRadians(angle).map(QPointF(0, distanceFromCenter))).toPoint(); -} - -void tst_Gifs::moveSmoothlyAlongArc(QQuickWindow *window, QPoint arcCenter, qreal distanceFromCenter, - qreal startAngleRadians, qreal endAngleRadians, QEasingCurve::Type easingCurveType) -{ - QEasingCurve curve(easingCurveType); - const qreal angleSpan = endAngleRadians - startAngleRadians; - const int movements = qAbs(angleSpan) * 20 + 20; - - for (int movement = 0; movement < movements; ++movement) { - const qreal progress = movement / qreal(movements); - const QPoint pos = posAlongArc(arcCenter, startAngleRadians, endAngleRadians, - distanceFromCenter, progress, easingCurveType); - QTest::mouseMove(window, pos, 15); - } -} - -void tst_Gifs::tumblerWrap() -{ - GifRecorder gifRecorder; - gifRecorder.setDataDirPath(dataDirPath); - gifRecorder.setOutputDir(outputDir); - gifRecorder.setRecordingDuration(5); - gifRecorder.setQmlFileName("qtquickcontrols2-tumbler-wrap.qml"); - - gifRecorder.start(); - - // Left as an example. Usually EventCapturer code would be removed after - // the GIF has been generated. - QQuickWindow *window = gifRecorder.window(); - EventCapturer eventCapturer; -#ifdef GENERATE_EVENT_CODE - eventCapturer.setMoveEventTrimFlags(EventCapturer::TrimAll); - eventCapturer.startCapturing(window, 4000); -#else - QTest::mousePress(window, Qt::LeftButton, Qt::NoModifier, QPoint(89, 75), 326); - QTest::mouseMove(window, QPoint(89, 76), 31); - QTest::mouseMove(window, QPoint(89, 80), 10); - QTest::mouseMove(window, QPoint(93, 93), 10); - QTest::mouseMove(window, QPoint(95, 101), 10); - QTest::mouseMove(window, QPoint(97, 109), 11); - QTest::mouseMove(window, QPoint(101, 125), 10); - QTest::mouseMove(window, QPoint(103, 133), 11); - QTest::mouseMove(window, QPoint(103, 141), 11); - QTest::mouseMove(window, QPoint(105, 158), 10); - QTest::mouseMove(window, QPoint(105, 162), 13); - QTest::mouseRelease(window, Qt::LeftButton, Qt::NoModifier, QPoint(105, 162), 0); - QTest::mousePress(window, Qt::LeftButton, Qt::NoModifier, QPoint(154, 100), 1098); - QTest::mouseMove(window, QPoint(154, 99), 16); - QTest::mouseMove(window, QPoint(153, 98), 16); - QTest::mouseMove(window, QPoint(153, 95), 16); - QTest::mouseMove(window, QPoint(152, 91), 15); - QTest::mouseMove(window, QPoint(152, 87), 14); - QTest::mouseMove(window, QPoint(151, 83), 13); - QTest::mouseMove(window, QPoint(151, 86), 13); - QTest::mouseMove(window, QPoint(150, 79), 12); - QTest::mouseMove(window, QPoint(148, 73), 12); - QTest::mouseMove(window, QPoint(148, 68), 12); - QTest::mouseMove(window, QPoint(148, 60), 10); - QTest::mouseMove(window, QPoint(147, 50), 10); - QTest::mouseMove(window, QPoint(147, 40), 9); - QTest::mouseMove(window, QPoint(147, 30), 8); - QTest::mouseMove(window, QPoint(147, 20), 7); - QTest::mouseRelease(window, Qt::LeftButton, Qt::NoModifier, QPoint(147, 20), 0); - QTest::mousePress(window, Qt::LeftButton, Qt::NoModifier, QPoint(154, 100), 1000); - QTest::mouseMove(window, QPoint(147, 101), 16); - QTest::mouseMove(window, QPoint(147, 102), 16); - QTest::mouseMove(window, QPoint(147, 105), 16); - QTest::mouseMove(window, QPoint(148, 109), 15); - QTest::mouseMove(window, QPoint(148, 115), 14); - QTest::mouseMove(window, QPoint(148, 120), 13); - QTest::mouseMove(window, QPoint(150, 125), 13); - QTest::mouseMove(window, QPoint(151, 130), 12); - QTest::mouseMove(window, QPoint(151, 135), 12); - QTest::mouseMove(window, QPoint(153, 140), 12); - QTest::mouseMove(window, QPoint(153, 150), 10); - QTest::mouseMove(window, QPoint(153, 160), 10); - QTest::mouseMove(window, QPoint(153, 170), 9); - QTest::mouseMove(window, QPoint(155, 180), 8); - QTest::mouseMove(window, QPoint(155, 188), 7); - QTest::mouseRelease(window, Qt::LeftButton, Qt::NoModifier, QPoint(20, 188), 0); -#endif - - gifRecorder.waitForFinish(); - - const auto capturedEvents = eventCapturer.capturedEvents(); - for (CapturedEvent event : capturedEvents) - qDebug().noquote() << event.cppCommand(); -} - -void tst_Gifs::slider() -{ - GifRecorder gifRecorder; - gifRecorder.setDataDirPath(dataDirPath); - gifRecorder.setOutputDir(outputDir); - gifRecorder.setRecordingDuration(5); - gifRecorder.setHighQuality(true); - gifRecorder.setQmlFileName("qtquickcontrols2-slider.qml"); - - gifRecorder.start(); - - QQuickWindow *window = gifRecorder.window(); - QQuickItem *slider = window->property("slider").value<QQuickItem*>(); - QVERIFY(slider); - QQuickItem *handle = slider->property("handle").value<QQuickItem*>(); - QVERIFY(handle); - - const QPoint handleCenter = handle->mapToItem(window->contentItem(), - QPoint(handle->width() / 2, handle->height() / 2)).toPoint(); - - QTest::mousePress(window, Qt::LeftButton, Qt::NoModifier, handleCenter, 100); - QPoint pos1 = handleCenter + QPoint(slider->width() * 0.3, 0); - moveSmoothly(window, handleCenter, pos1, pos1.x() - handleCenter.x(), QEasingCurve::OutQuint, 10); - QTest::mouseRelease(window, Qt::LeftButton, Qt::NoModifier, pos1, 20); - - QTest::mousePress(window, Qt::LeftButton, Qt::NoModifier, handleCenter, 100); - const QPoint pos2 = QPoint(slider->width() - handleCenter.x() + slider->property("rightPadding").toInt(), handleCenter.y()); - moveSmoothly(window, pos1, pos2, pos2.x() - pos1.x(), QEasingCurve::OutQuint, 10); - QTest::mouseRelease(window, Qt::LeftButton, Qt::NoModifier, pos2, 20); - - QTest::mousePress(window, Qt::LeftButton, Qt::NoModifier, pos2, 100); - moveSmoothly(window, pos2, handleCenter, qAbs(handleCenter.x() - pos2.x()), QEasingCurve::OutQuint, 10); - QTest::mouseRelease(window, Qt::LeftButton, Qt::NoModifier, handleCenter, 20); - - gifRecorder.waitForFinish(); -} - -void tst_Gifs::sliderSnap_data() -{ - QTest::addColumn<QString>("gifBaseName"); - QTest::addColumn<int>("snapMode"); - QTest::newRow("NoSnap") << "qtquickcontrols2-slider-nosnap" << 0; - QTest::newRow("SnapAlways") << "qtquickcontrols2-slider-snapalways" << 1; - QTest::newRow("SnapOnRelease") << "qtquickcontrols2-slider-snaponrelease" << 2; -} - -void tst_Gifs::sliderSnap() -{ - QFETCH(QString, gifBaseName); - QFETCH(int, snapMode); - - GifRecorder gifRecorder; - gifRecorder.setDataDirPath(dataDirPath); - gifRecorder.setOutputDir(outputDir); - gifRecorder.setRecordingDuration(8); - gifRecorder.setHighQuality(true); - gifRecorder.setQmlFileName("qtquickcontrols2-slider-snap.qml"); - gifRecorder.setOutputFileBaseName(gifBaseName); - - gifRecorder.start(); - - QQuickWindow *window = gifRecorder.window(); - QQuickItem *slider = window->property("slider").value<QQuickItem*>(); - QVERIFY(slider); - QVERIFY(slider->setProperty("snapMode", QVariant(snapMode))); - QCOMPARE(slider->property("snapMode").toInt(), snapMode); - QQuickItem *handle = slider->property("handle").value<QQuickItem*>(); - QVERIFY(handle); - - const QPoint startPos(slider->property("leftPadding").toReal(), slider->height() / 2); - const int trackWidth = slider->property("availableWidth").toReal(); - - QTest::mousePress(window, Qt::LeftButton, Qt::NoModifier, startPos, 200); - QPoint pos1 = startPos + QPoint(trackWidth * 0.3, 0); - moveSmoothly(window, startPos, pos1, pos1.x() - startPos.x(), QEasingCurve::OutQuint, 30); - QTest::mouseRelease(window, Qt::LeftButton, Qt::NoModifier, pos1, 0); - - QTest::mousePress(window, Qt::LeftButton, Qt::NoModifier, startPos, 400); - const QPoint pos2 = startPos + QPoint(trackWidth * 0.6, 0); - moveSmoothly(window, pos1, pos2, pos2.x() - pos1.x(), QEasingCurve::OutQuint, 30); - QTest::mouseRelease(window, Qt::LeftButton, Qt::NoModifier, pos2, 0); - - QTest::mousePress(window, Qt::LeftButton, Qt::NoModifier, pos2, 400); - moveSmoothly(window, pos2, startPos, qAbs(startPos.x() - pos2.x()) / 2, QEasingCurve::OutQuint, 30); - QTest::mouseRelease(window, Qt::LeftButton, Qt::NoModifier, startPos, 0); - - gifRecorder.waitForFinish(); -} - -void tst_Gifs::rangeSlider() -{ - GifRecorder gifRecorder; - gifRecorder.setDataDirPath(dataDirPath); - gifRecorder.setOutputDir(outputDir); - gifRecorder.setRecordingDuration(7); - gifRecorder.setHighQuality(true); - gifRecorder.setQmlFileName("qtquickcontrols2-rangeslider.qml"); - - gifRecorder.start(); - - QQuickWindow *window = gifRecorder.window(); - QQuickItem *slider = window->property("slider").value<QQuickItem*>(); - QVERIFY(slider); - QObject *first = slider->property("first").value<QObject*>(); - QVERIFY(first); - QQuickItem *firstHandle = first->property("handle").value<QQuickItem*>(); - QVERIFY(firstHandle); - QObject *second = slider->property("second").value<QObject*>(); - QVERIFY(second); - QQuickItem *secondHandle = second->property("handle").value<QQuickItem*>(); - QVERIFY(secondHandle); - - const QPoint firstCenter = firstHandle->mapToItem(slider, - QPoint(firstHandle->width() / 2, firstHandle->height() / 2)).toPoint(); - const QPoint secondCenter = secondHandle->mapToItem(slider, - QPoint(secondHandle->width() / 2, secondHandle->height() / 2)).toPoint(); - - QTest::mousePress(window, Qt::LeftButton, Qt::NoModifier, firstCenter, 100); - const QPoint firstTarget = firstCenter + QPoint(slider->width() * 0.25, 0); - moveSmoothly(window, firstCenter, firstTarget, firstTarget.x() - firstCenter.x()); - QTest::mouseRelease(window, Qt::LeftButton, Qt::NoModifier, firstTarget, 20); - - QTest::mousePress(window, Qt::LeftButton, Qt::NoModifier, secondCenter, 100); - const QPoint secondTarget = secondCenter - QPoint(slider->width() * 0.25, 0); - moveSmoothly(window, secondCenter, secondTarget, qAbs(secondTarget.x() - secondCenter.x())); - QTest::mouseRelease(window, Qt::LeftButton, Qt::NoModifier, secondTarget, 20); - - QTest::mousePress(window, Qt::LeftButton, Qt::NoModifier, secondTarget, 100); - moveSmoothly(window, secondTarget, secondCenter, qAbs(secondTarget.x() - secondCenter.x())); - QTest::mouseRelease(window, Qt::LeftButton, Qt::NoModifier, secondCenter, 20); - - QTest::mousePress(window, Qt::LeftButton, Qt::NoModifier, firstTarget, 100); - moveSmoothly(window, firstTarget, firstCenter, firstTarget.x() - firstCenter.x()); - QTest::mouseRelease(window, Qt::LeftButton, Qt::NoModifier, firstCenter, 20); - - gifRecorder.waitForFinish(); -} - -void tst_Gifs::busyIndicator() -{ - GifRecorder gifRecorder; - gifRecorder.setDataDirPath(dataDirPath); - gifRecorder.setOutputDir(outputDir); - gifRecorder.setRecordingDuration(6); - gifRecorder.setHighQuality(true); - gifRecorder.setQmlFileName("qtquickcontrols2-busyindicator.qml"); - - gifRecorder.start(); - - QQuickWindow *window = gifRecorder.window(); - // Record nothing for a bit to make it smoother. - QTest::qWait(800 * 2); - - QQuickItem *busyIndicator = window->property("busyIndicator").value<QQuickItem*>(); - QVERIFY(busyIndicator); - - busyIndicator->setProperty("running", false); - - // 800 ms is the duration of one rotation animation cycle for BusyIndicator. - QTest::qWait(800 * 2); - - busyIndicator->setProperty("running", true); - - gifRecorder.waitForFinish(); -} - -void tst_Gifs::switchGif() -{ - GifRecorder gifRecorder; - gifRecorder.setDataDirPath(dataDirPath); - gifRecorder.setOutputDir(outputDir); - gifRecorder.setRecordingDuration(3); - gifRecorder.setQmlFileName("qtquickcontrols2-switch.qml"); - gifRecorder.setHighQuality(true); - - gifRecorder.start(); - - QQuickWindow *window = gifRecorder.window(); - QTest::mouseClick(window, Qt::LeftButton, Qt::NoModifier, QPoint(window->width() * 0.8, window->height() / 2), 0); - QTest::mouseClick(window, Qt::LeftButton, Qt::NoModifier, QPoint(window->width() * 0.2, window->height() / 2), 800); - - gifRecorder.waitForFinish(); -} - -void tst_Gifs::button_data() -{ - QTest::addColumn<QString>("qmlFileName"); - QTest::newRow("button") << QString::fromLatin1("qtquickcontrols2-button.qml"); - QTest::newRow("button-flat") << QString::fromLatin1("qtquickcontrols2-button-flat.qml"); - QTest::newRow("button-highlighted") << QString::fromLatin1("qtquickcontrols2-button-highlighted.qml"); -} - -void tst_Gifs::button() -{ - QFETCH(QString, qmlFileName); - - GifRecorder gifRecorder; - gifRecorder.setDataDirPath(dataDirPath); - gifRecorder.setOutputDir(outputDir); - gifRecorder.setRecordingDuration(3); - gifRecorder.setQmlFileName(qmlFileName); - // Seems to be necessary to show the Default button background. - gifRecorder.setHighQuality(true); - - gifRecorder.start(); - - QQuickWindow *window = gifRecorder.window(); - QTest::mousePress(window, Qt::LeftButton, Qt::NoModifier, QPoint(window->width() / 2, window->height() / 2), 0); - QTest::mouseRelease(window, Qt::LeftButton, Qt::NoModifier, QPoint(window->width() / 2, window->height() / 2), 700); - - gifRecorder.waitForFinish(); -} - -void tst_Gifs::tabBar() -{ - const QString qmlFileName = QStringLiteral("qtquickcontrols2-tabbar.qml"); - - GifRecorder gifRecorder; - gifRecorder.setDataDirPath(dataDirPath); - gifRecorder.setOutputDir(outputDir); - gifRecorder.setRecordingDuration(4); - gifRecorder.setQmlFileName(qmlFileName); - gifRecorder.setHighQuality(true); - - gifRecorder.start(); - - QQuickWindow *window = gifRecorder.window(); - QTest::mousePress(window, Qt::LeftButton, Qt::NoModifier, QPoint(window->width() * 0.6, window->height() / 2), 0); - QTest::mouseRelease(window, Qt::LeftButton, Qt::NoModifier, QPoint(window->width() * 0.6, window->height() / 2), 50); - - QTest::mousePress(window, Qt::LeftButton, Qt::NoModifier, QPoint(window->width() * 0.9, window->height() / 2), 400); - QTest::mouseRelease(window, Qt::LeftButton, Qt::NoModifier, QPoint(window->width() * 0.9, window->height() / 2), 50); - - QTest::mousePress(window, Qt::LeftButton, Qt::NoModifier, QPoint(window->width() * 0.6, window->height() / 2), 800); - QTest::mouseRelease(window, Qt::LeftButton, Qt::NoModifier, QPoint(window->width() * 0.6, window->height() / 2), 50); - - QTest::mousePress(window, Qt::LeftButton, Qt::NoModifier, QPoint(window->width() * 0.3, window->height() / 2), 400); - QTest::mouseRelease(window, Qt::LeftButton, Qt::NoModifier, QPoint(window->width() * 0.3, window->height() / 2), 50); - - gifRecorder.waitForFinish(); -} - -void tst_Gifs::menu() -{ - const QString qmlFileName = QStringLiteral("qtquickcontrols2-menu.qml"); - - GifRecorder gifRecorder; - gifRecorder.setDataDirPath(dataDirPath); - gifRecorder.setOutputDir(outputDir); - gifRecorder.setRecordingDuration(3); - gifRecorder.setQmlFileName(qmlFileName); - gifRecorder.setHighQuality(true); - - gifRecorder.start(); - - QQuickWindow *window = gifRecorder.window(); - const QQuickItem *fileButton = window->property("fileButton").value<QQuickItem*>(); - QVERIFY(fileButton); - - const QPoint fileButtonCenter = fileButton->mapToScene(QPointF(fileButton->width() / 2, fileButton->height() / 2)).toPoint(); - QTest::mousePress(window, Qt::LeftButton, Qt::NoModifier, fileButtonCenter, 0); - QTest::mouseRelease(window, Qt::LeftButton, Qt::NoModifier, fileButtonCenter, 200); - - const QObject *menu = window->property("menu").value<QObject*>(); - QVERIFY(menu); - const QQuickItem *menuContentItem = menu->property("contentItem").value<QQuickItem*>(); - QVERIFY(menuContentItem); - - const QPoint lastItemPos = menuContentItem->mapToScene(QPointF(menuContentItem->width() / 2, menuContentItem->height() - 10)).toPoint(); - QTest::mousePress(window, Qt::LeftButton, Qt::NoModifier, lastItemPos, 1000); - QTest::mouseRelease(window, Qt::LeftButton, Qt::NoModifier, lastItemPos, 300); - - gifRecorder.waitForFinish(); -} - -void tst_Gifs::swipeView() -{ - GifRecorder gifRecorder; - gifRecorder.setDataDirPath(dataDirPath); - gifRecorder.setOutputDir(outputDir); - gifRecorder.setRecordingDuration(8); - gifRecorder.setQmlFileName(QStringLiteral("qtquickcontrols2-swipeview.qml")); - gifRecorder.setHighQuality(true); - - gifRecorder.start(); - - QQuickWindow *window = gifRecorder.window(); - QQuickItem *swipeView = window->property("swipeView").value<QQuickItem*>(); - QVERIFY(swipeView); - - QTest::qWait(1200); - swipeView->setProperty("currentIndex", 1); - QTest::qWait(2000); - swipeView->setProperty("currentIndex", 2); - QTest::qWait(2000); - swipeView->setProperty("currentIndex", 0); - - gifRecorder.waitForFinish(); -} - -void tst_Gifs::swipeDelegate_data() -{ - QTest::addColumn<QString>("qmlFileName"); - QTest::newRow("qtquickcontrols2-swipedelegate.qml") << QString::fromLatin1("qtquickcontrols2-swipedelegate.qml"); - QTest::newRow("qtquickcontrols2-swipedelegate-leading-trailing.qml") << QString::fromLatin1("qtquickcontrols2-swipedelegate-leading-trailing.qml"); -} - -void tst_Gifs::swipeDelegate() -{ - QFETCH(QString, qmlFileName); - - GifRecorder gifRecorder; - gifRecorder.setDataDirPath(dataDirPath); - gifRecorder.setOutputDir(outputDir); - gifRecorder.setRecordingDuration(10); - gifRecorder.setQmlFileName(qmlFileName); - gifRecorder.setHighQuality(true); - - gifRecorder.start(); - - QQuickWindow *window = gifRecorder.window(); - QQuickItem *swipeDelegate = window->property("swipeDelegate").value<QQuickItem*>(); - QVERIFY(swipeDelegate); - - // Show left item. - const QPoint leftTarget = QPoint(swipeDelegate->width() * 0.2, 0); - const QPoint rightTarget = QPoint(swipeDelegate->width() * 0.8, 0); - QTest::mousePress(window, Qt::LeftButton, Qt::NoModifier, leftTarget, 100); - const int movements = rightTarget.x() - leftTarget.x(); - moveSmoothly(window, leftTarget, rightTarget, movements, QEasingCurve::OutQuint, 5); - QTest::mouseRelease(window, Qt::LeftButton, Qt::NoModifier, rightTarget, 20); - - QTest::mousePress(window, Qt::LeftButton, Qt::NoModifier, rightTarget, 1000); - moveSmoothly(window, rightTarget, leftTarget, movements, QEasingCurve::OutQuint, 5); - QTest::mouseRelease(window, Qt::LeftButton, Qt::NoModifier, leftTarget, 20); - - QTest::qWait(1000); - - // Show right item. - QTest::mousePress(window, Qt::LeftButton, Qt::NoModifier, rightTarget, 1000); - moveSmoothly(window, rightTarget, leftTarget, movements, QEasingCurve::OutQuint, 5); - QTest::mouseRelease(window, Qt::LeftButton, Qt::NoModifier, leftTarget, 20); - - QTest::mousePress(window, Qt::LeftButton, Qt::NoModifier, leftTarget, 1000); - moveSmoothly(window, leftTarget, rightTarget, movements, QEasingCurve::OutQuint, 5); - QTest::mouseRelease(window, Qt::LeftButton, Qt::NoModifier, rightTarget, 20); - - gifRecorder.waitForFinish(); -} - -void tst_Gifs::swipeDelegateBehind() -{ - GifRecorder gifRecorder; - gifRecorder.setDataDirPath(dataDirPath); - gifRecorder.setOutputDir(outputDir); - gifRecorder.setRecordingDuration(14); - gifRecorder.setQmlFileName(QStringLiteral("qtquickcontrols2-swipedelegate-behind.qml")); - gifRecorder.setHighQuality(true); - - gifRecorder.start(); - - QQuickWindow *window = gifRecorder.window(); - QQuickItem *swipeDelegate = window->property("swipeDelegate").value<QQuickItem*>(); - QVERIFY(swipeDelegate); - - // Show wrapping around left item. - const QPoint leftTarget = QPoint(swipeDelegate->width() * 0.2, 0); - const QPoint rightTarget = QPoint(swipeDelegate->width() * 0.8, 0); - const int movements = rightTarget.x() - leftTarget.x(); - for (int i = 0; i < 4; ++i) { - QTest::mousePress(window, Qt::LeftButton, Qt::NoModifier, leftTarget, 100); - moveSmoothly(window, leftTarget, rightTarget, movements, QEasingCurve::OutQuint, 5); - QTest::mouseRelease(window, Qt::LeftButton, Qt::NoModifier, rightTarget, 20); - - QTest::qWait(500); - } - - QTest::qWait(1000); - - // Show wrapping around right item. - for (int i = 0; i < 4; ++i) { - QTest::mousePress(window, Qt::LeftButton, Qt::NoModifier, rightTarget, 100); - moveSmoothly(window, rightTarget, leftTarget, movements, QEasingCurve::OutQuint, 5); - QTest::mouseRelease(window, Qt::LeftButton, Qt::NoModifier, leftTarget, 20); - - QTest::qWait(500); - } - - gifRecorder.waitForFinish(); -} - -void tst_Gifs::delegates_data() -{ - QTest::addColumn<QString>("name"); - QTest::addColumn<QList<int> >("pressIndices"); - QTest::addColumn<int>("duration"); - - QTest::newRow("ItemDelegate") << "itemdelegate" << (QList<int> { 0, 1, 2 }) << 5; - QTest::newRow("CheckDelegate") << "checkdelegate" << (QList<int> { 0, 0 }) << 5; - QTest::newRow("RadioDelegate") << "radiodelegate" << (QList<int> { 1, 0 }) << 5; - QTest::newRow("SwitchDelegate") << "switchdelegate" << (QList<int> { 0, 0 }) << 5; -} - -void tst_Gifs::delegates() -{ - QFETCH(QString, name); - QFETCH(QList<int>, pressIndices); - QFETCH(int, duration); - - GifRecorder gifRecorder; - gifRecorder.setDataDirPath(dataDirPath); - gifRecorder.setOutputDir(outputDir); - gifRecorder.setRecordingDuration(duration); - gifRecorder.setQmlFileName(QString::fromLatin1("qtquickcontrols2-%1.qml").arg(name)); - gifRecorder.setHighQuality(true); - - gifRecorder.start(); - - QQuickWindow *window = gifRecorder.window(); - QQuickItem *delegate = window->property("delegate").value<QQuickItem*>(); - QVERIFY(delegate); - - for (int i = 0; i < pressIndices.size(); ++i) { - const int pressIndex = pressIndices.at(i); - const QPoint delegateCenter(delegate->mapToScene(QPointF( - delegate->width() / 2, delegate->height() / 2 + delegate->height() * pressIndex)).toPoint()); - QTest::mousePress(window, Qt::LeftButton, Qt::NoModifier, delegateCenter, i == 0 ? 200 : 1000); - QTest::mouseRelease(window, Qt::LeftButton, Qt::NoModifier, delegateCenter, 400); - } - - gifRecorder.waitForFinish(); -} - -void tst_Gifs::dial_data() -{ - QTest::addColumn<QString>("name"); - - QTest::newRow("dial-wrap") << "wrap"; - QTest::newRow("dial-no-wrap") << "no-wrap"; -} - -void tst_Gifs::dial() -{ - QFETCH(QString, name); - - GifRecorder gifRecorder; - gifRecorder.setDataDirPath(dataDirPath); - gifRecorder.setOutputDir(outputDir); - gifRecorder.setRecordingDuration(10); - gifRecorder.setQmlFileName(QString::fromLatin1("qtquickcontrols2-dial-%1.qml").arg(name)); - gifRecorder.setHighQuality(false); - - gifRecorder.start(); - - QQuickWindow *window = gifRecorder.window(); - QQuickItem *dial = window->property("dial").value<QQuickItem*>(); - QVERIFY(dial); - - const QPoint arcCenter = dial->mapToScene(QPoint(dial->width() / 2, dial->height() / 2)).toPoint(); - const qreal distanceFromCenter = dial->height() * 0.25; - // Go a bit past the actual min/max to ensure that we get the full range. - const qreal minAngle = qDegreesToRadians(-170.0); - const qreal maxAngle = qDegreesToRadians(170.0); - // Drag from start to end. - qreal startAngle = minAngle; - qreal endAngle = maxAngle; - QTest::mousePress(window, Qt::LeftButton, Qt::NoModifier, posAlongArc( - arcCenter, startAngle, endAngle, distanceFromCenter, 0, QEasingCurve::InOutQuad), 30); - - moveSmoothlyAlongArc(window, arcCenter, distanceFromCenter, startAngle, endAngle, QEasingCurve::InOutQuad); - - // Come back from the end a bit. - startAngle = endAngle; - endAngle -= qDegreesToRadians(50.0); - moveSmoothlyAlongArc(window, arcCenter, distanceFromCenter, startAngle, endAngle, QEasingCurve::InOutQuad); - - // Try to drag over max to show what happens with different wrap settings. - startAngle = endAngle; - endAngle = qDegreesToRadians(270.0); - moveSmoothlyAlongArc(window, arcCenter, distanceFromCenter, startAngle, endAngle, QEasingCurve::InOutQuad); - - // Go back to the start so that it loops nicely. - startAngle = endAngle; - endAngle = minAngle; - moveSmoothlyAlongArc(window, arcCenter, distanceFromCenter, startAngle, endAngle, QEasingCurve::InOutQuad); - - QTest::mouseRelease(window, Qt::LeftButton, Qt::NoModifier, posAlongArc( - arcCenter, startAngle, endAngle, distanceFromCenter, 1, QEasingCurve::InOutQuad), 30); - - gifRecorder.waitForFinish(); -} - -void tst_Gifs::checkables_data() -{ - QTest::addColumn<QString>("name"); - QTest::addColumn<QList<int> >("pressIndices"); - - QTest::newRow("checkbox") << "checkbox" << (QList<int> { 1, 2, 2, 1 }); - QTest::newRow("radiobutton") << "radiobutton" << (QList<int> { 1, 2, 1, 0 }); -} - -void tst_Gifs::checkables() -{ - QFETCH(QString, name); - QFETCH(QList<int>, pressIndices); - - GifRecorder gifRecorder; - gifRecorder.setDataDirPath(dataDirPath); - gifRecorder.setOutputDir(outputDir); - gifRecorder.setRecordingDuration(6); - gifRecorder.setQmlFileName(QString::fromLatin1("qtquickcontrols2-%1.qml").arg(name)); - - gifRecorder.start(); - - QQuickWindow *window = gifRecorder.window(); - - for (int i = 0; i < pressIndices.size(); ++i) { - const int pressIndex = pressIndices.at(i); - const QString controlId = QString::fromLatin1("control%1").arg(pressIndex + 1); - QQuickItem *control = window->property(qPrintable(controlId)).value<QQuickItem*>(); - QVERIFY(control); - - const QPoint pos = control->mapToScene(QPointF(control->width() / 2, control->height() / 2)).toPoint(); - QTest::mousePress(window, Qt::LeftButton, Qt::NoModifier, pos, 800); - QTest::mouseClick(window, Qt::LeftButton, Qt::NoModifier, pos, 300); - } - - gifRecorder.waitForFinish(); -} - -void tst_Gifs::comboBox() -{ - GifRecorder gifRecorder; - gifRecorder.setDataDirPath(dataDirPath); - gifRecorder.setOutputDir(outputDir); - gifRecorder.setRecordingDuration(6); - gifRecorder.setQmlFileName(QStringLiteral("qtquickcontrols2-combobox.qml")); - - gifRecorder.start(); - - QQuickWindow *window = gifRecorder.window(); - QQuickItem *comboBox = window->property("comboBox").value<QQuickItem*>(); - QVERIFY(comboBox); - - // Open the popup. - const QPoint center = comboBox->mapToScene( - QPoint(comboBox->width() / 2, comboBox->height() / 2)).toPoint(); - QTest::mousePress(window, Qt::LeftButton, Qt::NoModifier, center, 800); - QTest::mouseRelease(window, Qt::LeftButton, Qt::NoModifier, center, 80); - - // Select the third item. - QObject *popup = comboBox->property("popup").value<QObject*>(); - QVERIFY(popup); - QQuickItem *popupContent = popup->property("contentItem").value<QQuickItem*>(); - QVERIFY(popupContent); - const QPoint lastItemPos = popupContent->mapToScene( - QPoint(popupContent->width() / 2, popupContent->height() * 0.8)).toPoint(); - QTest::mousePress(window, Qt::LeftButton, Qt::NoModifier, lastItemPos, 600); - QTest::mouseRelease(window, Qt::LeftButton, Qt::NoModifier, lastItemPos, 200); - - // Open the popup. - QTest::mousePress(window, Qt::LeftButton, Qt::NoModifier, center, 1500); - QTest::mouseRelease(window, Qt::LeftButton, Qt::NoModifier, center, 80); - - // Select the first item. - const QPoint firstItemPos = popupContent->mapToScene( - QPoint(popupContent->width() / 2, popupContent->height() * 0.2)).toPoint(); - QTest::mousePress(window, Qt::LeftButton, Qt::NoModifier, firstItemPos, 600); - QTest::mouseRelease(window, Qt::LeftButton, Qt::NoModifier, firstItemPos, 200); - - gifRecorder.waitForFinish(); -} - -void tst_Gifs::triState_data() -{ - QTest::addColumn<QString>("name"); - - QTest::newRow("checkbox-tristate") << "checkbox-tristate"; - QTest::newRow("checkdelegate-tristate") << "checkdelegate-tristate"; -} - -void tst_Gifs::triState() -{ - QFETCH(QString, name); - - GifRecorder gifRecorder; - gifRecorder.setDataDirPath(dataDirPath); - gifRecorder.setOutputDir(outputDir); - gifRecorder.setRecordingDuration(6); - gifRecorder.setQmlFileName(QString::fromLatin1("qtquickcontrols2-%1.qml").arg(name)); - - gifRecorder.start(); - - QQuickWindow *window = gifRecorder.window(); - QQuickItem *english = window->property("english").value<QQuickItem*>(); - QVERIFY(english); - QQuickItem *norwegian = window->property("norwegian").value<QQuickItem*>(); - QVERIFY(norwegian); - - const QPoint englishCenter = english->mapToScene( - QPointF(english->width() / 2, english->height() / 2)).toPoint(); - QTest::mousePress(window, Qt::LeftButton, Qt::NoModifier, englishCenter, 1000); - QTest::mouseRelease(window, Qt::LeftButton, Qt::NoModifier, englishCenter, 300); - - const QPoint norwegianCenter = norwegian->mapToScene( - QPointF(norwegian->width() / 2, norwegian->height() / 2)).toPoint(); - QTest::mousePress(window, Qt::LeftButton, Qt::NoModifier, norwegianCenter, 1000); - QTest::mouseRelease(window, Qt::LeftButton, Qt::NoModifier, norwegianCenter, 300); - - QTest::mousePress(window, Qt::LeftButton, Qt::NoModifier, norwegianCenter, 1000); - QTest::mouseRelease(window, Qt::LeftButton, Qt::NoModifier, norwegianCenter, 300); - - QTest::mousePress(window, Qt::LeftButton, Qt::NoModifier, englishCenter, 1000); - QTest::mouseRelease(window, Qt::LeftButton, Qt::NoModifier, englishCenter, 300); - - gifRecorder.waitForFinish(); -} - -void tst_Gifs::scrollBar() -{ - GifRecorder gifRecorder; - gifRecorder.setDataDirPath(dataDirPath); - gifRecorder.setOutputDir(outputDir); - gifRecorder.setRecordingDuration(6); - gifRecorder.setQmlFileName("qtquickcontrols2-scrollbar.qml"); - - gifRecorder.start(); - - QQuickWindow *window = gifRecorder.window(); - QQuickItem *scrollBar = window->property("scrollBar").value<QQuickItem*>(); - QVERIFY(scrollBar); - - // Flick in the center of the screen to show that there's a scroll bar. - const QPoint lhsWindowBottom = QPoint(0, window->height() - 1); - QTest::mousePress(window, Qt::LeftButton, Qt::NoModifier, lhsWindowBottom, 100); - QTest::mouseMove(window, lhsWindowBottom - QPoint(0, 10), 30); - QTest::mouseMove(window, lhsWindowBottom - QPoint(0, 30), 30); - QTest::mouseMove(window, lhsWindowBottom - QPoint(0, 60), 30); - QTest::mouseRelease(window, Qt::LeftButton, Qt::NoModifier, lhsWindowBottom - QPoint(0, 100), 30); - - // Scroll with the scroll bar. - const QPoint rhsWindowBottom = QPoint(window->width() - 1, window->height() - 1); - QTest::mousePress(window, Qt::LeftButton, Qt::NoModifier, rhsWindowBottom, 2000); - const QPoint rhsWindowTop = QPoint(window->width() - 1, 1); - moveSmoothly(window, rhsWindowBottom, rhsWindowTop, - qAbs(rhsWindowTop.y() - rhsWindowBottom.y()), QEasingCurve::InCubic, 10); - QTest::mouseRelease(window, Qt::LeftButton, Qt::NoModifier, rhsWindowTop, 20); - - gifRecorder.waitForFinish(); -} - -void tst_Gifs::scrollBarSnap_data() -{ - QTest::addColumn<QString>("gifBaseName"); - QTest::addColumn<int>("snapMode"); - QTest::newRow("NoSnap") << "qtquickcontrols2-scrollbar-nosnap" << 0; - QTest::newRow("SnapAlways") << "qtquickcontrols2-scrollbar-snapalways" << 1; - QTest::newRow("SnapOnRelease") << "qtquickcontrols2-scrollbar-snaponrelease" << 2; -} - -void tst_Gifs::scrollBarSnap() -{ - QFETCH(QString, gifBaseName); - QFETCH(int, snapMode); - - GifRecorder gifRecorder; - gifRecorder.setDataDirPath(dataDirPath); - gifRecorder.setOutputDir(outputDir); - gifRecorder.setRecordingDuration(8); - gifRecorder.setHighQuality(true); - gifRecorder.setQmlFileName("qtquickcontrols2-scrollbar-snap.qml"); - gifRecorder.setOutputFileBaseName(gifBaseName); - - gifRecorder.start(); - - QQuickWindow *window = gifRecorder.window(); - QQuickItem *scrollbar = window->property("scrollbar").value<QQuickItem*>(); - QVERIFY(scrollbar); - QVERIFY(scrollbar->setProperty("snapMode", QVariant(snapMode))); - QCOMPARE(scrollbar->property("snapMode").toInt(), snapMode); - - const QPoint startPos(scrollbar->property("leftPadding").toReal(), scrollbar->y() + scrollbar->height() / 2); - const int availableWidth = scrollbar->property("availableWidth").toReal(); - - QTest::mousePress(window, Qt::LeftButton, Qt::NoModifier, startPos, 200); - const QPoint pos1 = startPos + QPoint(availableWidth * 0.3, 0); - moveSmoothly(window, startPos, pos1, pos1.x() - startPos.x(), QEasingCurve::OutQuint, 30); - QTest::mouseRelease(window, Qt::LeftButton, Qt::NoModifier, pos1, 0); - - QTest::mousePress(window, Qt::LeftButton, Qt::NoModifier, pos1, 400); - const QPoint pos2 = startPos + QPoint(availableWidth * 0.6, 0); - moveSmoothly(window, pos1, pos2, pos2.x() - pos1.x(), QEasingCurve::OutQuint, 30); - QTest::mouseRelease(window, Qt::LeftButton, Qt::NoModifier, pos2, 0); - - QTest::mousePress(window, Qt::LeftButton, Qt::NoModifier, pos2, 400); - moveSmoothly(window, pos2, startPos, pos2.x() - startPos.x(), QEasingCurve::OutQuint, 30); - QTest::mouseRelease(window, Qt::LeftButton, Qt::NoModifier, startPos, 0); - - gifRecorder.waitForFinish(); -} - -void tst_Gifs::scrollIndicator() -{ - GifRecorder gifRecorder; - gifRecorder.setDataDirPath(dataDirPath); - gifRecorder.setOutputDir(outputDir); - gifRecorder.setRecordingDuration(6); - gifRecorder.setQmlFileName("qtquickcontrols2-scrollindicator.qml"); - - gifRecorder.start(); - - // Flick in the center of the screen to show that there's a scroll indicator. - QQuickWindow *window = gifRecorder.window(); - const QPoint windowBottom = QPoint(0, window->height() - 1); - QTest::mousePress(window, Qt::LeftButton, Qt::NoModifier, windowBottom, 100); - QTest::mouseMove(window, windowBottom - QPoint(0, 10), 30); - QTest::mouseMove(window, windowBottom - QPoint(0, 30), 30); - QTest::mouseMove(window, windowBottom - QPoint(0, 60), 30); - QTest::mouseRelease(window, Qt::LeftButton, Qt::NoModifier, windowBottom - QPoint(0, 100), 30); - - // Scroll back down. - const QPoint windowTop = QPoint(0, 0); - QTest::mousePress(window, Qt::LeftButton, Qt::NoModifier, windowTop, 2000); - QTest::mouseMove(window, windowTop + QPoint(0, 10), 30); - QTest::mouseMove(window, windowTop + QPoint(0, 30), 30); - QTest::mouseMove(window, windowTop + QPoint(0, 60), 30); - QTest::mouseRelease(window, Qt::LeftButton, Qt::NoModifier, windowTop + QPoint(0, 100), 30); - - gifRecorder.waitForFinish(); -} - -void tst_Gifs::progressBar_data() -{ - QTest::addColumn<bool>("indeterminate"); - - QTest::newRow("indeterminate:false") << false; - QTest::newRow("indeterminate:true") << true; -} - -void tst_Gifs::progressBar() -{ - QFETCH(bool, indeterminate); - - GifRecorder gifRecorder; - gifRecorder.setDataDirPath(dataDirPath); - gifRecorder.setOutputDir(outputDir); - gifRecorder.setRecordingDuration(4); - gifRecorder.setQmlFileName(QString::fromLatin1("qtquickcontrols2-progressbar%1").arg( - indeterminate ? QLatin1String("-indeterminate.qml") : QLatin1String(".qml"))); - - gifRecorder.start(); - gifRecorder.waitForFinish(); -} - -void tst_Gifs::stackView_data() -{ - QTest::addColumn<QString>("name"); - QTest::addColumn<int>("duration"); - - QTest::newRow("push") << "push" << 8; - QTest::newRow("pop") << "pop" << 6; - QTest::newRow("unwind") << "unwind" << 6; - QTest::newRow("replace") << "replace" << 6; -} - -void tst_Gifs::stackView() -{ - QFETCH(QString, name); - QFETCH(int, duration); - - GifRecorder gifRecorder; - gifRecorder.setDataDirPath(dataDirPath); - gifRecorder.setOutputDir(outputDir); - gifRecorder.setRecordingDuration(duration); - gifRecorder.setHighQuality(true); - gifRecorder.setQmlFileName(QString::fromLatin1("qtquickcontrols2-stackview-%1.qml").arg(name)); - - gifRecorder.start(); - gifRecorder.waitForFinish(); -} - -void tst_Gifs::drawer() -{ - GifRecorder gifRecorder; - gifRecorder.setDataDirPath(dataDirPath); - gifRecorder.setOutputDir(outputDir); - gifRecorder.setRecordingDuration(4); - gifRecorder.setHighQuality(true); - gifRecorder.setQmlFileName("qtquickcontrols2-drawer.qml"); - - gifRecorder.start(); - - QQuickWindow *window = gifRecorder.window(); - QObject *drawer = window->property("drawer").value<QObject*>(); - qreal width = drawer->property("width").toReal(); - - QTest::mousePress(window, Qt::LeftButton, Qt::NoModifier, QPoint(1, 1), 100); - moveSmoothly(window, QPoint(1, 1), QPoint(width, 1), width, QEasingCurve::InOutBack, 1); - QTest::mouseRelease(window, Qt::LeftButton, Qt::NoModifier, QPoint(width, 1), 30); - - QTest::qWait(1000); - QMetaObject::invokeMethod(drawer, "close"); - - gifRecorder.waitForFinish(); -} - -void tst_Gifs::delayButton() -{ - GifRecorder gifRecorder; - gifRecorder.setDataDirPath(dataDirPath); - gifRecorder.setOutputDir(outputDir); - gifRecorder.setRecordingDuration(9); - gifRecorder.setQmlFileName("qtquickcontrols2-delaybutton.qml"); - - gifRecorder.start(); - - QQuickWindow *window = gifRecorder.window(); - QTest::mousePress(window, Qt::LeftButton, Qt::NoModifier, QPoint(window->width() / 2, window->height() / 2), 0); - QTest::mouseRelease(window, Qt::LeftButton, Qt::NoModifier, QPoint(window->width() / 2, window->height() / 2), 1500); - - QTest::mousePress(window, Qt::LeftButton, Qt::NoModifier, QPoint(window->width() / 2, window->height() / 2), 1000); - QTest::mouseRelease(window, Qt::LeftButton, Qt::NoModifier, QPoint(window->width() / 2, window->height() / 2), 200); - - QTest::mousePress(window, Qt::LeftButton, Qt::NoModifier, QPoint(window->width() / 2, window->height() / 2), 1500); - QTest::mouseRelease(window, Qt::LeftButton, Qt::NoModifier, QPoint(window->width() / 2, window->height() / 2), 1730); - - QTest::mousePress(window, Qt::LeftButton, Qt::NoModifier, QPoint(window->width() / 2, window->height() / 2), 1000); - QTest::mouseRelease(window, Qt::LeftButton, Qt::NoModifier, QPoint(window->width() / 2, window->height() / 2), 2070); // 0.69 * 3000 - - gifRecorder.waitForFinish(); -} - -QTEST_MAIN(tst_Gifs) - -#include "tst_gifs.moc" |