aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--examples/quick/CMakeLists.txt1
-rw-r--r--examples/quick/pointerhandlers/CMakeLists.txt84
-rw-r--r--examples/quick/pointerhandlers/components/Button.qml105
-rw-r--r--examples/quick/pointerhandlers/components/CheckBox.qml105
-rw-r--r--examples/quick/pointerhandlers/components/FakeFlickable.qml (renamed from tests/manual/pointer/content/FakeFlickable.qml)42
-rw-r--r--examples/quick/pointerhandlers/components/FlashAnimation.qml67
-rw-r--r--examples/quick/pointerhandlers/components/LeftDrawer.qml (renamed from tests/manual/pointer/content/LeftDrawer.qml)40
-rw-r--r--examples/quick/pointerhandlers/components/MomentumAnimation.qml81
-rw-r--r--examples/quick/pointerhandlers/components/MouseFeedbackSprite.qml (renamed from tests/manual/pointer/content/MouseFeedbackSprite.qml)12
-rw-r--r--examples/quick/pointerhandlers/components/ScrollBar.qml (renamed from tests/manual/pointer/content/ScrollBar.qml)44
-rw-r--r--examples/quick/pointerhandlers/components/Slider.qml159
-rw-r--r--examples/quick/pointerhandlers/components/TouchpointFeedbackSprite.qml72
-rw-r--r--examples/quick/pointerhandlers/components/images/checkmark.pngbin0 -> 809 bytes
-rw-r--r--examples/quick/pointerhandlers/components/images/fingersprite.pngbin0 -> 6792 bytes
-rw-r--r--examples/quick/pointerhandlers/components/images/mixer-knob.pngbin0 -> 7821 bytes
-rw-r--r--examples/quick/pointerhandlers/components/images/mouse.png (renamed from tests/manual/pointer/resources/mouse.png)bin1919 -> 1919 bytes
-rw-r--r--examples/quick/pointerhandlers/components/images/mouse_left.png (renamed from tests/manual/pointer/resources/mouse_left.png)bin740 -> 740 bytes
-rw-r--r--examples/quick/pointerhandlers/components/images/mouse_middle.png (renamed from tests/manual/pointer/resources/mouse_middle.png)bin558 -> 558 bytes
-rw-r--r--examples/quick/pointerhandlers/components/images/mouse_right.png (renamed from tests/manual/pointer/resources/mouse_right.png)bin906 -> 906 bytes
-rw-r--r--examples/quick/pointerhandlers/fakeFlickable.qml (renamed from tests/manual/pointer/fakeFlickable.qml)46
-rw-r--r--examples/quick/pointerhandlers/flingAnimation.qml (renamed from tests/manual/pointer/flingAnimation.qml)48
-rw-r--r--examples/quick/pointerhandlers/images/arrowhead.png (renamed from tests/manual/pointer/resources/arrowhead.png)bin883 -> 883 bytes
-rw-r--r--examples/quick/pointerhandlers/images/balloon.png (renamed from tests/manual/pointer/resources/balloon.png)bin3759 -> 3759 bytes
-rw-r--r--examples/quick/pointerhandlers/images/cursor-airbrush.png (renamed from tests/manual/pointer/resources/cursor-airbrush.png)bin823 -> 823 bytes
-rw-r--r--examples/quick/pointerhandlers/images/cursor-eraser.png (renamed from tests/manual/pointer/resources/cursor-eraser.png)bin1454 -> 1454 bytes
-rw-r--r--examples/quick/pointerhandlers/images/cursor-felt-marker.png (renamed from tests/manual/pointer/resources/cursor-felt-marker.png)bin513 -> 513 bytes
-rw-r--r--examples/quick/pointerhandlers/images/cursor-pencil.png (renamed from tests/manual/pointer/resources/cursor-pencil.png)bin1307 -> 1307 bytes
-rw-r--r--examples/quick/pointerhandlers/images/fighter.png (renamed from tests/manual/pointer/resources/fighter.png)bin9669 -> 9669 bytes
-rw-r--r--examples/quick/pointerhandlers/images/grabbing-location.svg (renamed from tests/manual/pointer/resources/grabbing-location.svg)0
-rw-r--r--examples/quick/pointerhandlers/images/joystick-outer-case-pov.jpg (renamed from tests/manual/pointer/resources/joystick-outer-case-pov.jpg)bin50687 -> 50687 bytes
-rw-r--r--examples/quick/pointerhandlers/images/map.svgzbin0 -> 27956 bytes
-rw-r--r--examples/quick/pointerhandlers/images/missile.png (renamed from tests/manual/pointer/resources/missile.png)bin2305 -> 2305 bytes
-rw-r--r--examples/quick/pointerhandlers/images/redball.png (renamed from tests/manual/pointer/resources/redball.png)bin10002 -> 10002 bytes
-rw-r--r--examples/quick/pointerhandlers/joystick.qml (renamed from tests/manual/pointer/joystick.qml)46
-rw-r--r--examples/quick/pointerhandlers/main.cpp51
-rw-r--r--examples/quick/pointerhandlers/map.qml (renamed from tests/manual/pointer/map.qml)46
-rw-r--r--examples/quick/pointerhandlers/mixer.qml81
-rw-r--r--examples/quick/pointerhandlers/multibuttons.qml118
-rw-r--r--examples/quick/pointerhandlers/pinchHandler.qml (renamed from tests/manual/pointer/pinchHandler.qml)44
-rw-r--r--examples/quick/pointerhandlers/pointerhandlers.qml95
-rw-r--r--examples/quick/pointerhandlers/qml.qrc47
-rw-r--r--examples/quick/pointerhandlers/sidebar.qml (renamed from tests/manual/pointer/sidebar.qml)42
-rw-r--r--examples/quick/pointerhandlers/singlePointHandlerProperties.qml (renamed from tests/manual/pointer/singlePointHandlerProperties.qml)75
-rw-r--r--examples/quick/pointerhandlers/tabletCanvasDrawing.qml (renamed from tests/manual/pointer/tabletCanvasDrawing.qml)21
-rw-r--r--examples/quick/pointerhandlers/tapHandler.qml (renamed from tests/manual/pointer/tapHandler.qml)89
-rw-r--r--examples/quick/pointerhandlers/tapWithModifiers.qml77
-rw-r--r--tests/manual/pointer/CMakeLists.txt110
-rw-r--r--tests/manual/pointer/content/MultiButton.qml73
-rw-r--r--tests/manual/pointer/flickablesWithHandlers.qml5
-rw-r--r--tests/manual/pointer/inputinspector.cpp185
-rw-r--r--tests/manual/pointer/inputinspector.h79
-rw-r--r--tests/manual/pointer/main.cpp58
-rw-r--r--tests/manual/pointer/main.qml102
-rw-r--r--tests/manual/pointer/mixer.qml59
-rw-r--r--tests/manual/pointer/multibuttons.qml86
-rw-r--r--tests/manual/pointer/qml.qrc52
56 files changed, 1581 insertions, 966 deletions
diff --git a/examples/quick/CMakeLists.txt b/examples/quick/CMakeLists.txt
index 0f09789859..bf9c06e3c7 100644
--- a/examples/quick/CMakeLists.txt
+++ b/examples/quick/CMakeLists.txt
@@ -53,6 +53,7 @@ set(reused_dir_targets
shapes_shared
imageelements_shared
delegatechooser_shared
+ pointerhandlers_shared
)
foreach(target IN LISTS reused_dir_targets)
if(TARGET ${target})
diff --git a/examples/quick/pointerhandlers/CMakeLists.txt b/examples/quick/pointerhandlers/CMakeLists.txt
new file mode 100644
index 0000000000..ca378d49e1
--- /dev/null
+++ b/examples/quick/pointerhandlers/CMakeLists.txt
@@ -0,0 +1,84 @@
+# Generated from pointer.pro.
+
+cmake_minimum_required(VERSION 3.16)
+project(pointerhandlers LANGUAGES CXX)
+
+set(CMAKE_INCLUDE_CURRENT_DIR ON)
+
+set(CMAKE_AUTOMOC ON)
+
+if(NOT DEFINED INSTALL_EXAMPLESDIR)
+ set(INSTALL_EXAMPLESDIR "examples")
+endif()
+
+set(INSTALL_EXAMPLEDIR "${INSTALL_EXAMPLESDIR}/quick/pointerhandlers")
+
+find_package(Qt6 COMPONENTS Core Gui Quick Qml Svg)
+
+add_subdirectory("../shared" "shared")
+
+qt_add_executable(pointerhandlersexample WIN32 MACOSX_BUNDLE main.cpp)
+
+target_link_libraries(pointerhandlersexample PUBLIC
+ Qt::Core
+ Qt::Gui
+ Qt::Qml
+ Qt::Quick
+ Qt::Svg
+ pointerhandlers_shared
+)
+
+qt_add_qml_module(pointerhandlersexample
+ URI pointerhandlers
+ VERSION 1.0
+ QML_FILES
+ "components/Button.qml"
+ "components/CheckBox.qml"
+ "components/FakeFlickable.qml"
+ "components/FlashAnimation.qml"
+ "components/LeftDrawer.qml"
+ "components/MomentumAnimation.qml"
+ "components/MouseFeedbackSprite.qml"
+ "components/ScrollBar.qml"
+ "components/Slider.qml"
+ "components/TouchpointFeedbackSprite.qml"
+ "fakeFlickable.qml"
+ "flingAnimation.qml"
+ "joystick.qml"
+ "map.qml"
+ "mixer.qml"
+ "multibuttons.qml"
+ "pinchHandler.qml"
+ "pointerhandlers.qml"
+ "sidebar.qml"
+ "singlePointHandlerProperties.qml"
+ "tabletCanvasDrawing.qml"
+ "tapHandler.qml"
+ RESOURCES
+ "components/images/checkmark.png"
+ "components/images/fingersprite.png"
+ "components/images/mixer-knob.png"
+ "components/images/mouse.png"
+ "components/images/mouse_left.png"
+ "components/images/mouse_middle.png"
+ "components/images/mouse_right.png"
+ "images/arrowhead.png"
+ "images/balloon.png"
+ "images/cursor-airbrush.png"
+ "images/cursor-eraser.png"
+ "images/cursor-felt-marker.png"
+ "images/cursor-pencil.png"
+ "images/fighter.png"
+ "images/grabbing-location.svg"
+ "images/joystick-outer-case-pov.jpg"
+ "images/map.svgz"
+ "images/missile.png"
+ "images/redball.png"
+)
+
+install(TARGETS pointerhandlersexample
+ RUNTIME DESTINATION "${INSTALL_EXAMPLEDIR}"
+ BUNDLE DESTINATION "${INSTALL_EXAMPLEDIR}"
+ LIBRARY DESTINATION "${INSTALL_EXAMPLEDIR}"
+)
+bundle_shared(pointerhandlersexample)
diff --git a/examples/quick/pointerhandlers/components/Button.qml b/examples/quick/pointerhandlers/components/Button.qml
new file mode 100644
index 0000000000..9ff3870d7b
--- /dev/null
+++ b/examples/quick/pointerhandlers/components/Button.qml
@@ -0,0 +1,105 @@
+/****************************************************************************
+**
+** Copyright (C) 2021 The Qt Company Ltd.
+** Contact: https://www.qt.io/licensing/
+**
+** This file is part of the examples 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
+
+Rectangle {
+ id: root
+ property alias label: label
+ property alias text: label.text
+ property alias pressed: tap.pressed
+ property alias hovered: hoverHandler.hovered
+ property alias gesturePolicy: tap.gesturePolicy
+ property alias margin: tap.margin
+ signal tapped
+
+ implicitHeight: Math.max(Screen.pixelDensity * 7, label.implicitHeight * 2)
+ implicitWidth: Math.max(Screen.pixelDensity * 11, label.implicitWidth * 1.3)
+ height: implicitHeight
+ width: implicitWidth
+ radius: height / 6
+
+ border { color: Qt.darker(palette.button, 1.5); width: 1 }
+ gradient: Gradient {
+ GradientStop { position: 0.0; color: tap.pressed ? Qt.darker(palette.button, 1.3) : palette.button }
+ GradientStop { position: 1.0; color: Qt.darker(palette.button, 1.3) }
+ }
+
+ TapHandler {
+ id: tap
+ margin: 10 // the user can tap a little beyond the edges
+ objectName: label.text + " Tap"
+ onTapped: {
+ tapFlash.start()
+ root.tapped()
+ }
+ }
+ HoverHandler {
+ id: hoverHandler
+ }
+
+ Text {
+ id: label
+ font.pointSize: 14
+ color: palette.buttonText
+ text: "Button"
+ anchors.centerIn: parent
+ }
+
+ Rectangle {
+ anchors.fill: parent
+ color: "transparent"
+ border.width: 2; radius: root.radius; antialiasing: true
+ opacity: tapFlash.running ? 1 : 0
+ FlashAnimation on visible {
+ id: tapFlash
+ }
+ }
+}
diff --git a/examples/quick/pointerhandlers/components/CheckBox.qml b/examples/quick/pointerhandlers/components/CheckBox.qml
new file mode 100644
index 0000000000..bcd9ad99db
--- /dev/null
+++ b/examples/quick/pointerhandlers/components/CheckBox.qml
@@ -0,0 +1,105 @@
+/****************************************************************************
+**
+** Copyright (C) 2021 The Qt Company Ltd.
+** Contact: https://www.qt.io/licensing/
+**
+** This file is part of the examples 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
+
+Item {
+ id: root
+ implicitHeight: frame.height
+ implicitWidth: row.implicitWidth
+ width: implicitWidth
+ height: implicitHeight
+ property alias text: label.text
+ property bool checked
+
+ property alias pressed: tapHandler.pressed
+ property alias row: row
+ signal clicked
+
+ Row {
+ id: row
+ anchors.verticalCenter: parent.verticalCenter
+ spacing: 6
+ Rectangle {
+ id: frame
+ gradient: Gradient {
+ GradientStop { position: 0.0; color: tapHandler.pressed ? Qt.darker(palette.button, 1.3) : palette.button }
+ GradientStop { position: 1.0; color: Qt.darker(palette.button, 1.3) }
+ }
+ height: label.implicitHeight * 1.5
+ width: height
+ anchors.margins: 1
+ radius: 3
+ antialiasing: true
+ border.color: Qt.darker(palette.button, 1.5)
+ Image {
+ id: theX
+ source: "images/checkmark.png"
+ anchors.fill: frame
+ anchors.margins: frame.width / 5
+ fillMode: Image.PreserveAspectFit
+ smooth: true
+ visible: root.checked
+ }
+ }
+ Text {
+ id: label
+ color: palette.text
+ anchors.verticalCenter: frame.verticalCenter
+ }
+ }
+ TapHandler {
+ id: tapHandler
+ onTapped: {
+ parent.checked = !parent.checked
+ parent.clicked()
+ }
+ }
+}
diff --git a/tests/manual/pointer/content/FakeFlickable.qml b/examples/quick/pointerhandlers/components/FakeFlickable.qml
index 636399ba2c..2857d066aa 100644
--- a/tests/manual/pointer/content/FakeFlickable.qml
+++ b/examples/quick/pointerhandlers/components/FakeFlickable.qml
@@ -1,11 +1,11 @@
/****************************************************************************
**
-** Copyright (C) 2019 The Qt Company Ltd.
+** Copyright (C) 2021 The Qt Company Ltd.
** Contact: https://www.qt.io/licensing/
**
-** This file is part of the manual tests of the Qt Toolkit.
+** This file is part of the examples of the Qt Toolkit.
**
-** $QT_BEGIN_LICENSE:GPL-EXCEPT$
+** $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
@@ -14,13 +14,35 @@
** and conditions see https://www.qt.io/terms-conditions. For further
** information use the contact form at https://www.qt.io/contact-us.
**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 3 as published by the Free Software
-** Foundation with exceptions as appearing in the file LICENSE.GPL3-EXCEPT
-** included in the packaging of this file. Please review the following
-** information to ensure the GNU General Public License requirements will
-** be met: https://www.gnu.org/licenses/gpl-3.0.html.
+** 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$
**
diff --git a/examples/quick/pointerhandlers/components/FlashAnimation.qml b/examples/quick/pointerhandlers/components/FlashAnimation.qml
new file mode 100644
index 0000000000..047112d22c
--- /dev/null
+++ b/examples/quick/pointerhandlers/components/FlashAnimation.qml
@@ -0,0 +1,67 @@
+/****************************************************************************
+**
+** Copyright (C) 2021 The Qt Company Ltd.
+** Contact: https://www.qt.io/licensing/
+**
+** This file is part of the examples of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:BSD$
+** Commercial License Usage
+** Licensees holding valid commercial Qt licenses may use this file in
+** accordance with the commercial license agreement provided with the
+** Software or, alternatively, in accordance with the terms contained in
+** a written agreement between you and The Qt Company. For licensing terms
+** and conditions see https://www.qt.io/terms-conditions. For further
+** information use the contact form at https://www.qt.io/contact-us.
+**
+** BSD License Usage
+** Alternatively, you may use this file under the terms of the BSD license
+** as follows:
+**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+** * Redistributions of source code must retain the above copyright
+** notice, this list of conditions and the following disclaimer.
+** * Redistributions in binary form must reproduce the above copyright
+** notice, this list of conditions and the following disclaimer in
+** the documentation and/or other materials provided with the
+** distribution.
+** * Neither the name of The Qt Company Ltd nor the names of its
+** contributors may be used to endorse or promote products derived
+** from this software without specific prior written permission.
+**
+**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
+**
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+
+import QtQuick 2.12
+
+SequentialAnimation {
+ id: tapFlash
+ running: false
+ PropertyAction { value: false }
+ PauseAnimation { duration: 100 }
+ PropertyAction { value: true }
+ PauseAnimation { duration: 100 }
+ PropertyAction { value: false }
+ PauseAnimation { duration: 100 }
+ PropertyAction { value: true }
+ PauseAnimation { duration: 100 }
+ PropertyAction { value: false }
+ PauseAnimation { duration: 100 }
+ PropertyAction { value: true }
+}
diff --git a/tests/manual/pointer/content/LeftDrawer.qml b/examples/quick/pointerhandlers/components/LeftDrawer.qml
index 7e43e5a2bd..5cf1420519 100644
--- a/tests/manual/pointer/content/LeftDrawer.qml
+++ b/examples/quick/pointerhandlers/components/LeftDrawer.qml
@@ -3,9 +3,9 @@
** Copyright (C) 2021 The Qt Company Ltd.
** Contact: https://www.qt.io/licensing/
**
-** This file is part of the manual tests of the Qt Toolkit.
+** This file is part of the examples of the Qt Toolkit.
**
-** $QT_BEGIN_LICENSE:GPL-EXCEPT$
+** $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
@@ -14,13 +14,35 @@
** and conditions see https://www.qt.io/terms-conditions. For further
** information use the contact form at https://www.qt.io/contact-us.
**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 3 as published by the Free Software
-** Foundation with exceptions as appearing in the file LICENSE.GPL3-EXCEPT
-** included in the packaging of this file. Please review the following
-** information to ensure the GNU General Public License requirements will
-** be met: https://www.gnu.org/licenses/gpl-3.0.html.
+** 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$
**
diff --git a/examples/quick/pointerhandlers/components/MomentumAnimation.qml b/examples/quick/pointerhandlers/components/MomentumAnimation.qml
new file mode 100644
index 0000000000..03e1689317
--- /dev/null
+++ b/examples/quick/pointerhandlers/components/MomentumAnimation.qml
@@ -0,0 +1,81 @@
+/****************************************************************************
+**
+** Copyright (C) 2021 The Qt Company Ltd.
+** Contact: https://www.qt.io/licensing/
+**
+** This file is part of the examples of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:BSD$
+** Commercial License Usage
+** Licensees holding valid commercial Qt licenses may use this file in
+** accordance with the commercial license agreement provided with the
+** Software or, alternatively, in accordance with the terms contained in
+** a written agreement between you and The Qt Company. For licensing terms
+** and conditions see https://www.qt.io/terms-conditions. For further
+** information use the contact form at https://www.qt.io/contact-us.
+**
+** BSD License Usage
+** Alternatively, you may use this file under the terms of the BSD license
+** as follows:
+**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+** * Redistributions of source code must retain the above copyright
+** notice, this list of conditions and the following disclaimer.
+** * Redistributions in binary form must reproduce the above copyright
+** notice, this list of conditions and the following disclaimer in
+** the documentation and/or other materials provided with the
+** distribution.
+** * Neither the name of The Qt Company Ltd nor the names of its
+** contributors may be used to endorse or promote products derived
+** from this software without specific prior written permission.
+**
+**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
+**
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+
+import QtQuick 2.12
+
+ParallelAnimation {
+ id: root
+ property Item target: null
+ property int duration: 500
+ property vector2d velocity: Qt.vector2d(0,0)
+
+ function restart(vel) {
+ stop()
+ velocity = vel
+ start()
+ }
+
+ NumberAnimation {
+ id: xAnim
+ target: root.target
+ property: "x"
+ to: target.x + velocity.x / duration * 100
+ duration: root.duration
+ easing.type: Easing.OutQuad
+ }
+ NumberAnimation {
+ id: yAnim
+ target: root.target
+ property: "y"
+ to: target.y + velocity.y / duration * 100
+ duration: root.duration
+ easing.type: Easing.OutQuad
+ }
+}
diff --git a/tests/manual/pointer/content/MouseFeedbackSprite.qml b/examples/quick/pointerhandlers/components/MouseFeedbackSprite.qml
index d3068ff503..4d6f1843c8 100644
--- a/tests/manual/pointer/content/MouseFeedbackSprite.qml
+++ b/examples/quick/pointerhandlers/components/MouseFeedbackSprite.qml
@@ -1,9 +1,9 @@
/****************************************************************************
**
-** Copyright (C) 2017 The Qt Company Ltd.
+** Copyright (C) 2021 The Qt Company Ltd.
** Contact: https://www.qt.io/licensing/
**
-** This file is part of the manual tests of the Qt Toolkit.
+** This file is part of the examples of the Qt Toolkit.
**
** $QT_BEGIN_LICENSE:BSD$
** Commercial License Usage
@@ -57,21 +57,21 @@ PointHandler {
acceptedButtons: Qt.AllButtons
target: Image {
objectName: "mouse sprite"
- source: "../resources/mouse.png"
+ source: "images/mouse.png"
visible: handler.active
x: handler.point.position.x - width / 2
y: handler.point.position.y - height / 2
parent: handler.parent
Image {
- source: "../resources/mouse_left.png"
+ source: "images/mouse_left.png"
visible: handler.point.pressedButtons & Qt.LeftButton
}
Image {
- source: "../resources/mouse_middle.png"
+ source: "images/mouse_middle.png"
visible: handler.point.pressedButtons & Qt.MiddleButton
}
Image {
- source: "../resources/mouse_right.png"
+ source: "images/mouse_right.png"
visible: handler.point.pressedButtons & Qt.RightButton
}
}
diff --git a/tests/manual/pointer/content/ScrollBar.qml b/examples/quick/pointerhandlers/components/ScrollBar.qml
index 9928433d1f..f5cf27a0c5 100644
--- a/tests/manual/pointer/content/ScrollBar.qml
+++ b/examples/quick/pointerhandlers/components/ScrollBar.qml
@@ -1,11 +1,11 @@
/****************************************************************************
**
-** Copyright (C) 2017 The Qt Company Ltd.
+** Copyright (C) 2021 The Qt Company Ltd.
** Contact: https://www.qt.io/licensing/
**
-** This file is part of the manual tests of the Qt Toolkit.
+** This file is part of the examples of the Qt Toolkit.
**
-** $QT_BEGIN_LICENSE:GPL-EXCEPT$
+** $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
@@ -14,13 +14,35 @@
** and conditions see https://www.qt.io/terms-conditions. For further
** information use the contact form at https://www.qt.io/contact-us.
**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 3 as published by the Free Software
-** Foundation with exceptions as appearing in the file LICENSE.GPL3-EXCEPT
-** included in the packaging of this file. Please review the following
-** information to ensure the GNU General Public License requirements will
-** be met: https://www.gnu.org/licenses/gpl-3.0.html.
+** 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$
**
@@ -41,8 +63,6 @@ Rectangle {
flick.contentY = position * knob.scrollDistance
}
- SystemPalette { id: palette }
-
color: palette.button
border.color: Qt.darker(palette.button, 1.5)
gradient: Gradient {
diff --git a/examples/quick/pointerhandlers/components/Slider.qml b/examples/quick/pointerhandlers/components/Slider.qml
new file mode 100644
index 0000000000..0365d01149
--- /dev/null
+++ b/examples/quick/pointerhandlers/components/Slider.qml
@@ -0,0 +1,159 @@
+/****************************************************************************
+**
+** Copyright (C) 2021 The Qt Company Ltd.
+** Contact: https://www.qt.io/licensing/
+**
+** This file is part of the examples 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 Qt.labs.animation
+
+Item {
+ id: root
+ property int value: 50
+ property int maximumValue: 99
+ property alias label: label.text
+ property alias tapEnabled: tap.enabled
+ property alias pressed: tap.pressed
+ signal tapped
+
+ DragHandler {
+ id: dragHandler
+ objectName: label.text + " DragHandler"
+ target: knob
+ xAxis.enabled: false
+ }
+
+ WheelHandler {
+ id: wheelHandler
+ objectName: label.text + " WheelHandler"
+ acceptedDevices: PointerDevice.Mouse | PointerDevice.TouchPad
+ invertible: false // Don't let the system "natural scrolling" setting affect this
+ rotationScale: -0.5 // But make it go consistently in the same direction as the fingers or wheel, a bit slow
+ target: knob
+ property: "y"
+ }
+
+ Rectangle {
+ id: slot
+ anchors.top: parent.top
+ anchors.bottom: parent.bottom
+ anchors.margins: 10
+ anchors.topMargin: label.height + 6
+ anchors.bottomMargin: valueLabel.height + 4
+ anchors.horizontalCenter: parent.horizontalCenter
+ width: 10
+ color: "black"
+ radius: width / 2
+ smooth: true
+ }
+
+ Rectangle {
+ // RectangularGlow is better, but that's a different module
+ id: glow
+ anchors.fill: knob
+ anchors.margins: -5
+ anchors.leftMargin: -2
+ anchors.horizontalCenterOffset: 1
+ radius: 5
+ color: "#4400FFFF"
+ opacity: tap.pressed || tapFlash.running ? 1 : 0
+ FlashAnimation on visible {
+ id: tapFlash
+ }
+ }
+ Image {
+ id: knob
+ source: "images/mixer-knob.png"
+ antialiasing: true
+ x: slot.x - width / 2 + slot.width / 2
+ height: root.width / 2
+ width: implicitWidth / implicitHeight * height
+ property bool programmatic: false
+ property real multiplier: root.maximumValue / (ybr.maximum - ybr.minimum)
+ onYChanged: if (!programmatic) root.value = root.maximumValue - (knob.y - ybr.minimum) * multiplier
+ transformOrigin: Item.Center
+ function setValue(value) { knob.y = ybr.maximum - value / knob.multiplier }
+ TapHandler {
+ id: tap
+ objectName: label.text + " TapHandler"
+ gesturePolicy: TapHandler.DragThreshold
+ onTapped: {
+ tapFlash.start()
+ root.tapped
+ }
+ }
+ BoundaryRule on y {
+ id: ybr
+ minimum: slot.y
+ maximum: slot.height + slot.y - knob.height
+ }
+ }
+
+ Text {
+ id: valueLabel
+ font.pointSize: 16
+ color: "red"
+ anchors.bottom: parent.bottom
+ anchors.horizontalCenter: parent.horizontalCenter
+ text: root.value
+ }
+
+ Text {
+ id: label
+ font.pointSize: 12
+ color: "red"
+ anchors.top: parent.top
+ anchors.topMargin: 5
+ anchors.horizontalCenter: parent.horizontalCenter
+ }
+
+ onHeightChanged: {
+ knob.programmatic = true
+ knob.setValue(root.value)
+ knob.programmatic = false
+ }
+}
diff --git a/examples/quick/pointerhandlers/components/TouchpointFeedbackSprite.qml b/examples/quick/pointerhandlers/components/TouchpointFeedbackSprite.qml
new file mode 100644
index 0000000000..5a4f258b8c
--- /dev/null
+++ b/examples/quick/pointerhandlers/components/TouchpointFeedbackSprite.qml
@@ -0,0 +1,72 @@
+/****************************************************************************
+**
+** Copyright (C) 2021 The Qt Company Ltd.
+** Contact: https://www.qt.io/licensing/
+**
+** This file is part of the examples of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:BSD$
+** Commercial License Usage
+** Licensees holding valid commercial Qt licenses may use this file in
+** accordance with the commercial license agreement provided with the
+** Software or, alternatively, in accordance with the terms contained in
+** a written agreement between you and The Qt Company. For licensing terms
+** and conditions see https://www.qt.io/terms-conditions. For further
+** information use the contact form at https://www.qt.io/contact-us.
+**
+** BSD License Usage
+** Alternatively, you may use this file under the terms of the BSD license
+** as follows:
+**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+** * Redistributions of source code must retain the above copyright
+** notice, this list of conditions and the following disclaimer.
+** * Redistributions in binary form must reproduce the above copyright
+** notice, this list of conditions and the following disclaimer in
+** the documentation and/or other materials provided with the
+** distribution.
+** * Neither the name of The Qt Company Ltd nor the names of its
+** contributors may be used to endorse or promote products derived
+** from this software without specific prior written permission.
+**
+**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
+**
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+
+import QtQuick 2.12
+
+PointHandler {
+ id: handler
+ objectName: "point " + handler.point.id.toString(16)
+ acceptedDevices: PointerDevice.TouchScreen | PointerDevice.TouchPad
+ target: AnimatedSprite {
+ objectName: "sprite " + handler.point.id.toString(16)
+ source: "images/fingersprite.png"
+ visible: handler.active
+ running: visible // QTBUG-64544: running defaults to true, but we don't see it animating if we don't toggle it like this
+ x: handler.point.position.x - 20
+ y: handler.point.position.y - 13
+ width: frameWidth
+ height: frameHeight
+ frameWidth: 43
+ frameHeight: 64
+ frameCount: 3
+ frameRate: 5
+ parent: handler.parent
+ }
+}
diff --git a/examples/quick/pointerhandlers/components/images/checkmark.png b/examples/quick/pointerhandlers/components/images/checkmark.png
new file mode 100644
index 0000000000..821aafccdd
--- /dev/null
+++ b/examples/quick/pointerhandlers/components/images/checkmark.png
Binary files differ
diff --git a/examples/quick/pointerhandlers/components/images/fingersprite.png b/examples/quick/pointerhandlers/components/images/fingersprite.png
new file mode 100644
index 0000000000..423d115fdf
--- /dev/null
+++ b/examples/quick/pointerhandlers/components/images/fingersprite.png
Binary files differ
diff --git a/examples/quick/pointerhandlers/components/images/mixer-knob.png b/examples/quick/pointerhandlers/components/images/mixer-knob.png
new file mode 100644
index 0000000000..b7d42ee3bd
--- /dev/null
+++ b/examples/quick/pointerhandlers/components/images/mixer-knob.png
Binary files differ
diff --git a/tests/manual/pointer/resources/mouse.png b/examples/quick/pointerhandlers/components/images/mouse.png
index 268946df0a..268946df0a 100644
--- a/tests/manual/pointer/resources/mouse.png
+++ b/examples/quick/pointerhandlers/components/images/mouse.png
Binary files differ
diff --git a/tests/manual/pointer/resources/mouse_left.png b/examples/quick/pointerhandlers/components/images/mouse_left.png
index 9292301b47..9292301b47 100644
--- a/tests/manual/pointer/resources/mouse_left.png
+++ b/examples/quick/pointerhandlers/components/images/mouse_left.png
Binary files differ
diff --git a/tests/manual/pointer/resources/mouse_middle.png b/examples/quick/pointerhandlers/components/images/mouse_middle.png
index 064e8b9c16..064e8b9c16 100644
--- a/tests/manual/pointer/resources/mouse_middle.png
+++ b/examples/quick/pointerhandlers/components/images/mouse_middle.png
Binary files differ
diff --git a/tests/manual/pointer/resources/mouse_right.png b/examples/quick/pointerhandlers/components/images/mouse_right.png
index cab1a36ba6..cab1a36ba6 100644
--- a/tests/manual/pointer/resources/mouse_right.png
+++ b/examples/quick/pointerhandlers/components/images/mouse_right.png
Binary files differ
diff --git a/tests/manual/pointer/fakeFlickable.qml b/examples/quick/pointerhandlers/fakeFlickable.qml
index be52e4dbaa..b6be729e3c 100644
--- a/tests/manual/pointer/fakeFlickable.qml
+++ b/examples/quick/pointerhandlers/fakeFlickable.qml
@@ -1,11 +1,11 @@
/****************************************************************************
**
-** Copyright (C) 2019 The Qt Company Ltd.
+** Copyright (C) 2021 The Qt Company Ltd.
** Contact: https://www.qt.io/licensing/
**
-** This file is part of the manual tests of the Qt Toolkit.
+** This file is part of the examples of the Qt Toolkit.
**
-** $QT_BEGIN_LICENSE:GPL-EXCEPT$
+** $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
@@ -14,20 +14,42 @@
** and conditions see https://www.qt.io/terms-conditions. For further
** information use the contact form at https://www.qt.io/contact-us.
**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 3 as published by the Free Software
-** Foundation with exceptions as appearing in the file LICENSE.GPL3-EXCEPT
-** included in the packaging of this file. Please review the following
-** information to ensure the GNU General Public License requirements will
-** be met: https://www.gnu.org/licenses/gpl-3.0.html.
+** BSD License Usage
+** Alternatively, you may use this file under the terms of the BSD license
+** as follows:
+**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+** * Redistributions of source code must retain the above copyright
+** notice, this list of conditions and the following disclaimer.
+** * Redistributions in binary form must reproduce the above copyright
+** notice, this list of conditions and the following disclaimer in
+** the documentation and/or other materials provided with the
+** distribution.
+** * Neither the name of The Qt Company Ltd nor the names of its
+** contributors may be used to endorse or promote products derived
+** from this software without specific prior written permission.
+**
+**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
**
** $QT_END_LICENSE$
**
****************************************************************************/
import QtQuick 2.12
-import "content"
+import "components"
Rectangle {
id: root
@@ -61,7 +83,7 @@ Rectangle {
Component.onCompleted: {
var request = new XMLHttpRequest()
- request.open('GET', 'content/FakeFlickable.qml')
+ request.open('GET', 'components/FakeFlickable.qml')
request.onreadystatechange = function(event) {
if (request.readyState === XMLHttpRequest.DONE)
text.text = request.responseText
diff --git a/tests/manual/pointer/flingAnimation.qml b/examples/quick/pointerhandlers/flingAnimation.qml
index 4ec84789cd..a2a6a0acd1 100644
--- a/tests/manual/pointer/flingAnimation.qml
+++ b/examples/quick/pointerhandlers/flingAnimation.qml
@@ -1,11 +1,11 @@
/****************************************************************************
**
-** Copyright (C) 2016 The Qt Company Ltd.
+** Copyright (C) 2021 The Qt Company Ltd.
** Contact: https://www.qt.io/licensing/
**
-** This file is part of the manual tests of the Qt Toolkit.
+** This file is part of the examples of the Qt Toolkit.
**
-** $QT_BEGIN_LICENSE:GPL-EXCEPT$
+** $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
@@ -14,20 +14,42 @@
** and conditions see https://www.qt.io/terms-conditions. For further
** information use the contact form at https://www.qt.io/contact-us.
**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 3 as published by the Free Software
-** Foundation with exceptions as appearing in the file LICENSE.GPL3-EXCEPT
-** included in the packaging of this file. Please review the following
-** information to ensure the GNU General Public License requirements will
-** be met: https://www.gnu.org/licenses/gpl-3.0.html.
+** BSD License Usage
+** Alternatively, you may use this file under the terms of the BSD license
+** as follows:
+**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+** * Redistributions of source code must retain the above copyright
+** notice, this list of conditions and the following disclaimer.
+** * Redistributions in binary form must reproduce the above copyright
+** notice, this list of conditions and the following disclaimer in
+** the documentation and/or other materials provided with the
+** distribution.
+** * Neither the name of The Qt Company Ltd nor the names of its
+** contributors may be used to endorse or promote products derived
+** from this software without specific prior written permission.
+**
+**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
**
** $QT_END_LICENSE$
**
****************************************************************************/
import QtQuick 2.12
-import "content"
+import "components"
Rectangle {
id: root
@@ -41,7 +63,7 @@ Rectangle {
Image {
id: ball
objectName: "ball" + index
- source: "resources/redball.png"
+ source: "images/redball.png"
property real homeX: 200 + index * 200
property real homeY: 200
width: 80; height: 80; x: homeX; y: 200
@@ -113,7 +135,7 @@ Rectangle {
antialiasing: true
Image {
- source: "resources/arrowhead.png"
+ source: "images/arrowhead.png"
anchors.right: parent.right
anchors.verticalCenter: parent.verticalCenter
width: 16
diff --git a/tests/manual/pointer/resources/arrowhead.png b/examples/quick/pointerhandlers/images/arrowhead.png
index 7719bc6d6a..7719bc6d6a 100644
--- a/tests/manual/pointer/resources/arrowhead.png
+++ b/examples/quick/pointerhandlers/images/arrowhead.png
Binary files differ
diff --git a/tests/manual/pointer/resources/balloon.png b/examples/quick/pointerhandlers/images/balloon.png
index 6476facc49..6476facc49 100644
--- a/tests/manual/pointer/resources/balloon.png
+++ b/examples/quick/pointerhandlers/images/balloon.png
Binary files differ
diff --git a/tests/manual/pointer/resources/cursor-airbrush.png b/examples/quick/pointerhandlers/images/cursor-airbrush.png
index bea756ed6f..bea756ed6f 100644
--- a/tests/manual/pointer/resources/cursor-airbrush.png
+++ b/examples/quick/pointerhandlers/images/cursor-airbrush.png
Binary files differ
diff --git a/tests/manual/pointer/resources/cursor-eraser.png b/examples/quick/pointerhandlers/images/cursor-eraser.png
index e5488a89f2..e5488a89f2 100644
--- a/tests/manual/pointer/resources/cursor-eraser.png
+++ b/examples/quick/pointerhandlers/images/cursor-eraser.png
Binary files differ
diff --git a/tests/manual/pointer/resources/cursor-felt-marker.png b/examples/quick/pointerhandlers/images/cursor-felt-marker.png
index 132f09aa39..132f09aa39 100644
--- a/tests/manual/pointer/resources/cursor-felt-marker.png
+++ b/examples/quick/pointerhandlers/images/cursor-felt-marker.png
Binary files differ
diff --git a/tests/manual/pointer/resources/cursor-pencil.png b/examples/quick/pointerhandlers/images/cursor-pencil.png
index cc2f447d02..cc2f447d02 100644
--- a/tests/manual/pointer/resources/cursor-pencil.png
+++ b/examples/quick/pointerhandlers/images/cursor-pencil.png
Binary files differ
diff --git a/tests/manual/pointer/resources/fighter.png b/examples/quick/pointerhandlers/images/fighter.png
index 2acee43cba..2acee43cba 100644
--- a/tests/manual/pointer/resources/fighter.png
+++ b/examples/quick/pointerhandlers/images/fighter.png
Binary files differ
diff --git a/tests/manual/pointer/resources/grabbing-location.svg b/examples/quick/pointerhandlers/images/grabbing-location.svg
index c26881e9ba..c26881e9ba 100644
--- a/tests/manual/pointer/resources/grabbing-location.svg
+++ b/examples/quick/pointerhandlers/images/grabbing-location.svg
diff --git a/tests/manual/pointer/resources/joystick-outer-case-pov.jpg b/examples/quick/pointerhandlers/images/joystick-outer-case-pov.jpg
index 01cd78fdcf..01cd78fdcf 100644
--- a/tests/manual/pointer/resources/joystick-outer-case-pov.jpg
+++ b/examples/quick/pointerhandlers/images/joystick-outer-case-pov.jpg
Binary files differ
diff --git a/examples/quick/pointerhandlers/images/map.svgz b/examples/quick/pointerhandlers/images/map.svgz
new file mode 100644
index 0000000000..64d509c106
--- /dev/null
+++ b/examples/quick/pointerhandlers/images/map.svgz
Binary files differ
diff --git a/tests/manual/pointer/resources/missile.png b/examples/quick/pointerhandlers/images/missile.png
index 72c02d1fb9..72c02d1fb9 100644
--- a/tests/manual/pointer/resources/missile.png
+++ b/examples/quick/pointerhandlers/images/missile.png
Binary files differ
diff --git a/tests/manual/pointer/resources/redball.png b/examples/quick/pointerhandlers/images/redball.png
index 68d2e1d638..68d2e1d638 100644
--- a/tests/manual/pointer/resources/redball.png
+++ b/examples/quick/pointerhandlers/images/redball.png
Binary files differ
diff --git a/tests/manual/pointer/joystick.qml b/examples/quick/pointerhandlers/joystick.qml
index c8880f9100..c0445a5e21 100644
--- a/tests/manual/pointer/joystick.qml
+++ b/examples/quick/pointerhandlers/joystick.qml
@@ -1,11 +1,11 @@
/****************************************************************************
**
-** Copyright (C) 2017 The Qt Company Ltd.
+** Copyright (C) 2021 The Qt Company Ltd.
** Contact: https://www.qt.io/licensing/
**
-** This file is part of the manual tests of the Qt Toolkit.
+** This file is part of the examples of the Qt Toolkit.
**
-** $QT_BEGIN_LICENSE:GPL-EXCEPT$
+** $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
@@ -14,13 +14,35 @@
** and conditions see https://www.qt.io/terms-conditions. For further
** information use the contact form at https://www.qt.io/contact-us.
**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 3 as published by the Free Software
-** Foundation with exceptions as appearing in the file LICENSE.GPL3-EXCEPT
-** included in the packaging of this file. Please review the following
-** information to ensure the GNU General Public License requirements will
-** be met: https://www.gnu.org/licenses/gpl-3.0.html.
+** 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$
**
@@ -33,12 +55,12 @@ Item {
Image {
id: image
anchors.centerIn: parent
- source: "resources/joystick-outer-case-pov.jpg"
+ source: "images/joystick-outer-case-pov.jpg"
property real margin: 50
Image {
id: knob
- source: "resources/redball.png"
+ source: "images/redball.png"
DragHandler {
id: dragHandler
xAxis {
diff --git a/examples/quick/pointerhandlers/main.cpp b/examples/quick/pointerhandlers/main.cpp
new file mode 100644
index 0000000000..c2c98b96d6
--- /dev/null
+++ b/examples/quick/pointerhandlers/main.cpp
@@ -0,0 +1,51 @@
+/****************************************************************************
+**
+** Copyright (C) 2021 The Qt Company Ltd.
+** Contact: https://www.qt.io/licensing/
+**
+** This file is part of the examples 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$
+**
+****************************************************************************/
+#include "../shared/shared.h"
+DECLARATIVE_EXAMPLE_MAIN(pointerhandlers/pointerhandlers)
diff --git a/tests/manual/pointer/map.qml b/examples/quick/pointerhandlers/map.qml
index a45443f562..f54319f8aa 100644
--- a/tests/manual/pointer/map.qml
+++ b/examples/quick/pointerhandlers/map.qml
@@ -3,9 +3,9 @@
** Copyright (C) 2021 The Qt Company Ltd.
** Contact: https://www.qt.io/licensing/
**
-** This file is part of the manual tests of the Qt Toolkit.
+** This file is part of the examples of the Qt Toolkit.
**
-** $QT_BEGIN_LICENSE:GPL-EXCEPT$
+** $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
@@ -14,13 +14,35 @@
** and conditions see https://www.qt.io/terms-conditions. For further
** information use the contact form at https://www.qt.io/contact-us.
**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 3 as published by the Free Software
-** Foundation with exceptions as appearing in the file LICENSE.GPL3-EXCEPT
-** included in the packaging of this file. Please review the following
-** information to ensure the GNU General Public License requirements will
-** be met: https://www.gnu.org/licenses/gpl-3.0.html.
+** 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$
**
@@ -51,7 +73,9 @@ Item {
id: wheelHandler
objectName: "vertical mouse wheel for scaling"
property: "scale"
- onWheel: console.log("rotation " + event.angleDelta + " scaled " + rotation + " @ " + point.position + " => " + map.scale)
+ onWheel: function(event) {
+ console.log("rotation " + event.angleDelta + " scaled " + rotation + " @ " + point.position + " => " + map.scale)
+ }
}
WheelHandler {
@@ -65,7 +89,7 @@ Item {
id: image
anchors.centerIn: parent
fillMode: Image.PreserveAspectFit
- source: "resources/map.svgz"
+ source: "images/map.svgz"
Component.onCompleted: { width = implicitWidth; height = implicitHeight }
}
diff --git a/examples/quick/pointerhandlers/mixer.qml b/examples/quick/pointerhandlers/mixer.qml
new file mode 100644
index 0000000000..39cc2974d7
--- /dev/null
+++ b/examples/quick/pointerhandlers/mixer.qml
@@ -0,0 +1,81 @@
+/****************************************************************************
+**
+** Copyright (C) 2021 The Qt Company Ltd.
+** Contact: https://www.qt.io/licensing/
+**
+** This file is part of the examples of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:BSD$
+** Commercial License Usage
+** Licensees holding valid commercial Qt licenses may use this file in
+** accordance with the commercial license agreement provided with the
+** Software or, alternatively, in accordance with the terms contained in
+** a written agreement between you and The Qt Company. For licensing terms
+** and conditions see https://www.qt.io/terms-conditions. For further
+** information use the contact form at https://www.qt.io/contact-us.
+**
+** BSD License Usage
+** Alternatively, you may use this file under the terms of the BSD license
+** as follows:
+**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+** * Redistributions of source code must retain the above copyright
+** notice, this list of conditions and the following disclaimer.
+** * Redistributions in binary form must reproduce the above copyright
+** notice, this list of conditions and the following disclaimer in
+** the documentation and/or other materials provided with the
+** distribution.
+** * Neither the name of The Qt Company Ltd nor the names of its
+** contributors may be used to endorse or promote products derived
+** from this software without specific prior written permission.
+**
+**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
+**
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+
+import QtQuick 2.12
+import "components"
+
+Rectangle {
+ id: root
+ width: 1280
+ height: 960
+ objectName: "root"
+ color: "#222222"
+
+ ListView {
+ id: list
+ objectName: "listView"
+ anchors.fill: parent
+ anchors.margins: 10
+ orientation: Qt.Horizontal
+
+ model: 20
+
+ delegate: Item {
+ objectName: "delegateItem" + index
+ width: 154
+ height: list.height
+
+ Slider {
+ anchors.fill: parent
+ label: "Channel " + (index + 1)
+ }
+ }
+ }
+}
diff --git a/examples/quick/pointerhandlers/multibuttons.qml b/examples/quick/pointerhandlers/multibuttons.qml
new file mode 100644
index 0000000000..a3a4e21771
--- /dev/null
+++ b/examples/quick/pointerhandlers/multibuttons.qml
@@ -0,0 +1,118 @@
+/****************************************************************************
+**
+** Copyright (C) 2021 The Qt Company Ltd.
+** Contact: https://www.qt.io/licensing/
+**
+** This file is part of the examples 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.Particles
+import QtQuick.Layouts
+import "components"
+
+Item {
+ width: 800
+ height: 800
+ ColumnLayout {
+ anchors.right: parent.right
+ anchors.margins: 20
+ spacing: 20
+ Text { text: "protagonist"; font.pointSize: 12; font.weight: Font.Bold; bottomPadding: -10 }
+ Button {
+ id: balloonsButton
+ text: "Launch Balloons"
+ Layout.fillWidth: true
+ gesturePolicy: TapHandler.WithinBounds
+ Text {
+ anchors { top: parent.bottom; horizontalCenter: parent.horizontalCenter }
+ text: "gesturePolicy: WithinBounds"
+ }
+ }
+ Text { text: "the goons"; font.pointSize: 12; font.weight: Font.Bold; bottomPadding: -10 }
+ Button {
+ id: missilesButton
+ text: "Launch Missile"
+ Layout.fillWidth: true
+ gesturePolicy: TapHandler.ReleaseWithinBounds
+ onTapped: missileEmitter.burst(1)
+ Text {
+ anchors { top: parent.bottom; horizontalCenter: parent.horizontalCenter }
+ text: "gesturePolicy: ReleaseWithinBounds"
+ }
+ }
+ Button {
+ id: fightersButton
+ text: "Launch Fighters"
+ Layout.fillWidth: true
+ gesturePolicy: TapHandler.DragThreshold
+ Text {
+ anchors { top: parent.bottom; horizontalCenter: parent.horizontalCenter }
+ text: "gesturePolicy: DragThreshold"
+ }
+ }
+ }
+ ParticleSystem {
+ anchors.bottom: parent.bottom
+ anchors.left: parent.left
+ anchors.leftMargin: 150
+ ImageParticle { source: "images/balloon.png" }
+ Emitter { anchors.bottom: parent.bottom; enabled: balloonsButton.pressed; lifeSpan: 5000; size: 64
+ maximumEmitted: 99
+ emitRate: 50; velocity: PointDirection { x: 10; y: -150; yVariation: 30; xVariation: 50 } } }
+ ParticleSystem {
+ anchors.verticalCenter: parent.verticalCenter
+ anchors.right: parent.right
+ ImageParticle { source: "images/fighter.png" }
+ Emitter { anchors.bottom: parent.bottom; enabled: fightersButton.pressed; lifeSpan: 15000; size: 204
+ emitRate: 3; velocity: PointDirection { x: -1000; y: -250; yVariation: 150; xVariation: 50 } } }
+ ParticleSystem {
+ anchors.bottom: parent.bottom
+ anchors.right: parent.right
+ anchors.rightMargin: 100
+ ImageParticle { source: "images/missile.png"; autoRotation: true; rotation: 90 }
+ Emitter { id: missileEmitter; anchors.bottom: parent.bottom; lifeSpan: 5000; size: 128;
+ emitRate: 0; velocity: PointDirection { x: -200; y: -350; yVariation: 200; xVariation: 100 } } }
+}
diff --git a/tests/manual/pointer/pinchHandler.qml b/examples/quick/pointerhandlers/pinchHandler.qml
index e7f4530c4c..a4477b0af0 100644
--- a/tests/manual/pointer/pinchHandler.qml
+++ b/examples/quick/pointerhandlers/pinchHandler.qml
@@ -1,11 +1,11 @@
/****************************************************************************
**
-** Copyright (C) 2016 The Qt Company Ltd.
+** Copyright (C) 2021 The Qt Company Ltd.
** Contact: https://www.qt.io/licensing/
**
-** This file is part of the manual tests of the Qt Toolkit.
+** This file is part of the examples of the Qt Toolkit.
**
-** $QT_BEGIN_LICENSE:GPL-EXCEPT$
+** $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
@@ -14,20 +14,42 @@
** and conditions see https://www.qt.io/terms-conditions. For further
** information use the contact form at https://www.qt.io/contact-us.
**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 3 as published by the Free Software
-** Foundation with exceptions as appearing in the file LICENSE.GPL3-EXCEPT
-** included in the packaging of this file. Please review the following
-** information to ensure the GNU General Public License requirements will
-** be met: https://www.gnu.org/licenses/gpl-3.0.html.
+** BSD License Usage
+** Alternatively, you may use this file under the terms of the BSD license
+** as follows:
+**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+** * Redistributions of source code must retain the above copyright
+** notice, this list of conditions and the following disclaimer.
+** * Redistributions in binary form must reproduce the above copyright
+** notice, this list of conditions and the following disclaimer in
+** the documentation and/or other materials provided with the
+** distribution.
+** * Neither the name of The Qt Company Ltd nor the names of its
+** contributors may be used to endorse or promote products derived
+** from this software without specific prior written permission.
+**
+**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
**
** $QT_END_LICENSE$
**
****************************************************************************/
import QtQuick 2.12
-import "content"
+import "components"
Rectangle {
width: 1024; height: 600
diff --git a/examples/quick/pointerhandlers/pointerhandlers.qml b/examples/quick/pointerhandlers/pointerhandlers.qml
new file mode 100644
index 0000000000..ba3eb27132
--- /dev/null
+++ b/examples/quick/pointerhandlers/pointerhandlers.qml
@@ -0,0 +1,95 @@
+/****************************************************************************
+**
+** Copyright (C) 2021 The Qt Company Ltd.
+** Contact: https://www.qt.io/licensing/
+**
+** This file is part of the examples 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.Layouts
+import shared as Examples
+import "components"
+
+Rectangle {
+ id: window
+ width: 800
+ height: 800
+ visible: true
+ Examples.LauncherList {
+ id: ll
+ objectName: "LauncherList"
+ anchors.fill: parent
+ Component.onCompleted: {
+ addExample("tap", "TapHandler: device-agnostic tap/click detection for buttons", Qt.resolvedUrl("tapHandler.qml"))
+ addExample("multibuttons", "TapHandler: gesturePolicy (99 red balloons)", Qt.resolvedUrl("multibuttons.qml"))
+ addExample("single point handler", "PointHandler: properties such as seat, device, modifiers, velocity, pressure", Qt.resolvedUrl("singlePointHandlerProperties.qml"))
+ addExample("hover sidebar", "HoverHandler: a hierarchy of items sharing the hover state", Qt.resolvedUrl("sidebar.qml"))
+ addExample("joystick", "DragHandler: move one item inside another with any pointing device", Qt.resolvedUrl("joystick.qml"))
+ addExample("mixer", "DragHandler: drag multiple sliders with multiple fingers", Qt.resolvedUrl("mixer.qml"))
+ addExample("fling animation", "DragHandler: after dragging, use an animation to simulate momentum", Qt.resolvedUrl("flingAnimation.qml"))
+ addExample("pinch", "PinchHandler: scale, rotate and drag", Qt.resolvedUrl("pinchHandler.qml"))
+ addExample("map", "scale, pan, re-render at different resolutions", Qt.resolvedUrl("map.qml"))
+ addExample("fake Flickable", "implementation of a simplified Flickable using only Items, DragHandler and MomentumAnimation", Qt.resolvedUrl("fakeFlickable.qml"))
+ addExample("tablet canvas", "PointHandler and HoverHandler with a tablet: detect the stylus, and draw", Qt.resolvedUrl("tabletCanvasDrawing.qml"))
+ }
+ }
+ Item {
+ id: glassPane
+ objectName: "glassPane"
+ z: 10000
+ anchors.fill: parent
+
+ // TODO use Instantiator to create these... but we need to be able to set their parents to glassPane somehow (QTBUG-64546)
+ TouchpointFeedbackSprite { }
+ TouchpointFeedbackSprite { }
+ TouchpointFeedbackSprite { }
+ TouchpointFeedbackSprite { }
+ TouchpointFeedbackSprite { }
+ TouchpointFeedbackSprite { }
+
+ MouseFeedbackSprite { }
+ }
+}
diff --git a/examples/quick/pointerhandlers/qml.qrc b/examples/quick/pointerhandlers/qml.qrc
new file mode 100644
index 0000000000..39164527de
--- /dev/null
+++ b/examples/quick/pointerhandlers/qml.qrc
@@ -0,0 +1,47 @@
+<RCC>
+ <qresource prefix="/pointerhandlers">
+ <file>flingAnimation.qml</file>
+ <file>fakeFlickable.qml</file>
+ <file>flickablesWithHandlers.qml</file>
+ <file>joystick.qml</file>
+ <file>map.qml</file>
+ <file>mixer.qml</file>
+ <file>multibuttons.qml</file>
+ <file>photosurface.qml</file>
+ <file>pinchHandler.qml</file>
+ <file>pointerDrag.qml</file>
+ <file>pointerhandlers.qml</file>
+ <file>singlePointHandlerProperties.qml</file>
+ <file>sidebar.qml</file>
+ <file>tabletCanvasDrawing.qml</file>
+ <file>tapHandler.qml</file>
+ <file>components/Button.qml</file>
+ <file>components/CheckBox.qml</file>
+ <file>components/FakeFlickable.qml</file>
+ <file>components/FlashAnimation.qml</file>
+ <file>components/LeftDrawer.qml</file>
+ <file>components/MomentumAnimation.qml</file>
+ <file>components/ScrollBar.qml</file>
+ <file>components/Slider.qml</file>
+ <file>components/TouchpointFeedbackSprite.qml</file>
+ <file>images/arrowhead.png</file>
+ <file>images/balloon.png</file>
+ <file>components/images/checkmark.png</file>
+ <file>images/cursor-airbrush.png</file>
+ <file>images/cursor-eraser.png</file>
+ <file>images/cursor-felt-marker.png</file>
+ <file>images/cursor-pencil.png</file>
+ <file>images/fighter.png</file>
+ <file>components/images/fingersprite.png</file>
+ <file>images/grabbing-location.svg</file>
+ <file>images/joystick-outer-case-pov.jpg</file>
+ <file>images/map.svgz</file>
+ <file>images/missile.png</file>
+ <file>components/images/mixer-knob.png</file>
+ <file>components/images/mouse.png</file>
+ <file>components/images/mouse_left.png</file>
+ <file>components/images/mouse_middle.png</file>
+ <file>components/images/mouse_right.png</file>
+ <file>images/redball.png</file>
+ </qresource>
+</RCC>
diff --git a/tests/manual/pointer/sidebar.qml b/examples/quick/pointerhandlers/sidebar.qml
index cd59f1d5cf..60c781d46f 100644
--- a/tests/manual/pointer/sidebar.qml
+++ b/examples/quick/pointerhandlers/sidebar.qml
@@ -3,9 +3,9 @@
** Copyright (C) 2021 The Qt Company Ltd.
** Contact: https://www.qt.io/licensing/
**
-** This file is part of the manual tests of the Qt Toolkit.
+** This file is part of the examples of the Qt Toolkit.
**
-** $QT_BEGIN_LICENSE:GPL-EXCEPT$
+** $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
@@ -14,20 +14,42 @@
** and conditions see https://www.qt.io/terms-conditions. For further
** information use the contact form at https://www.qt.io/contact-us.
**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 3 as published by the Free Software
-** Foundation with exceptions as appearing in the file LICENSE.GPL3-EXCEPT
-** included in the packaging of this file. Please review the following
-** information to ensure the GNU General Public License requirements will
-** be met: https://www.gnu.org/licenses/gpl-3.0.html.
+** BSD License Usage
+** Alternatively, you may use this file under the terms of the BSD license
+** as follows:
+**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+** * Redistributions of source code must retain the above copyright
+** notice, this list of conditions and the following disclaimer.
+** * Redistributions in binary form must reproduce the above copyright
+** notice, this list of conditions and the following disclaimer in
+** the documentation and/or other materials provided with the
+** distribution.
+** * Neither the name of The Qt Company Ltd nor the names of its
+** contributors may be used to endorse or promote products derived
+** from this software without specific prior written permission.
+**
+**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
**
** $QT_END_LICENSE$
**
****************************************************************************/
import QtQuick 2.15
-import "content"
+import "components"
Rectangle {
id: root
diff --git a/tests/manual/pointer/singlePointHandlerProperties.qml b/examples/quick/pointerhandlers/singlePointHandlerProperties.qml
index 9bebf23810..177e8eaaf5 100644
--- a/tests/manual/pointer/singlePointHandlerProperties.qml
+++ b/examples/quick/pointerhandlers/singlePointHandlerProperties.qml
@@ -1,11 +1,11 @@
/****************************************************************************
**
-** Copyright (C) 2017 The Qt Company Ltd.
+** Copyright (C) 2021 The Qt Company Ltd.
** Contact: https://www.qt.io/licensing/
**
-** This file is part of the manual tests of the Qt Toolkit.
+** This file is part of the examples of the Qt Toolkit.
**
-** $QT_BEGIN_LICENSE:GPL-EXCEPT$
+** $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
@@ -14,13 +14,35 @@
** and conditions see https://www.qt.io/terms-conditions. For further
** information use the contact form at https://www.qt.io/contact-us.
**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 3 as published by the Free Software
-** Foundation with exceptions as appearing in the file LICENSE.GPL3-EXCEPT
-** included in the packaging of this file. Please review the following
-** information to ensure the GNU General Public License requirements will
-** be met: https://www.gnu.org/licenses/gpl-3.0.html.
+** 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$
**
@@ -89,7 +111,7 @@ Rectangle {
Rectangle {
id: velocityVector
visible: width > 0
- width: pointHandler.point.velocity.length() * 100
+ width: pointHandler.point.velocity.length() / 10
height: 2
x: pointHandler.point.position.x
y: pointHandler.point.position.y
@@ -98,7 +120,7 @@ Rectangle {
antialiasing: true
Image {
- source: "resources/arrowhead.png"
+ source: "images/arrowhead.png"
anchors.right: parent.right
anchors.verticalCenter: parent.verticalCenter
width: 16
@@ -110,7 +132,7 @@ Rectangle {
Component {
id: grabbingLocationIndicator
Image {
- source: "resources/grabbing-location.svg"
+ source: "components/images/grabbing-location.svg"
sourceSize.width: 32
sourceSize.height: 32
}
@@ -120,17 +142,17 @@ Rectangle {
id: mouseButtonIndicator
Image {
property int buttons
- source: "resources/mouse.png"
+ source: "components/images/mouse.png"
Image {
- source: "resources/mouse_left.png"
+ source: "components/images/mouse_left.png"
visible: buttons & Qt.LeftButton
}
Image {
- source: "resources/mouse_middle.png"
+ source: "components/images/mouse_middle.png"
visible: buttons & Qt.MiddleButton
}
Image {
- source: "resources/mouse_right.png"
+ source: "components/images/mouse_right.png"
visible: buttons & Qt.RightButton
}
}
@@ -140,14 +162,25 @@ Rectangle {
id: pointHandler
target: null
acceptedButtons: Qt.AllButtons
- onGrabChanged: if (active) { // 'point' is an implicit parameter referencing to a QEventPoint instance
- console.log("grabbed " + point.pointId + " @ " + point.sceneGrabPos)
- grabbingLocationIndicator.createObject(root, {"x": point.sceneGrabPosition.x, "y": point.sceneGrabPosition.y - 16})
+ onGrabChanged: function(transition, point) {
+ if (active) {
+ console.log("grabbed " + point.pointId + " @ " + point.sceneGrabPos)
+ grabbingLocationIndicator.createObject(root, {"x": point.sceneGrabPosition.x, "y": point.sceneGrabPosition.y - 16})
+ }
}
onPointChanged: {
- // Here, 'point' is referring to the property of the PointHandler
if (point.pressedButtons)
mouseButtonIndicator.createObject(root, {"x": point.pressPosition.x - 44, "y": point.pressPosition.y - 64, "buttons": point.pressedButtons})
}
}
+
+ Text {
+ color: "white"
+ text: "drag to see feedback"
+ anchors {
+ bottom: parent.bottom
+ horizontalCenter: parent.horizontalCenter
+ margins: 6
+ }
+ }
}
diff --git a/tests/manual/pointer/tabletCanvasDrawing.qml b/examples/quick/pointerhandlers/tabletCanvasDrawing.qml
index c340dee5f4..5c19bab31a 100644
--- a/tests/manual/pointer/tabletCanvasDrawing.qml
+++ b/examples/quick/pointerhandlers/tabletCanvasDrawing.qml
@@ -1,9 +1,9 @@
/****************************************************************************
**
-** Copyright (C) 2020 The Qt Company Ltd.
+** Copyright (C) 2021 The Qt Company Ltd.
** Contact: https://www.qt.io/licensing/
**
-** This file is part of the manual tests of the Qt Toolkit.
+** This file is part of the examples of the Qt Toolkit.
**
** $QT_BEGIN_LICENSE:BSD$
** Commercial License Usage
@@ -50,7 +50,7 @@
import QtQuick 2.15
import QtQuick.Layouts 1.15
-import "content"
+import "components"
Rectangle {
width: 1024
@@ -165,6 +165,15 @@ Rectangle {
}
}
+ Text {
+ text: "draw with a drawing-tablet stylus"
+ anchors {
+ bottom: parent.bottom
+ horizontalCenter: parent.horizontalCenter
+ margins: 6
+ }
+ }
+
PointHandler {
acceptedPointerTypes: PointerDevice.Pen
onActiveChanged:
@@ -206,7 +215,7 @@ Rectangle {
target: Image {
parent: rect
source: stylusHandler.point.rotation === 0 ?
- "resources/cursor-pencil.png" : "resources/cursor-felt-marker.png"
+ "images/cursor-pencil.png" : "images/cursor-felt-marker.png"
visible: stylusHandler.hovered
rotation: stylusHandler.point.rotation
x: stylusHandler.point.position.x
@@ -220,7 +229,7 @@ Rectangle {
acceptedPointerTypes: PointerDevice.Pen
target: Image {
parent: rect
- source: "resources/cursor-airbrush.png"
+ source: "images/cursor-airbrush.png"
visible: airbrushHandler.hovered
x: airbrushHandler.point.position.x
y: airbrushHandler.point.position.y
@@ -232,7 +241,7 @@ Rectangle {
acceptedPointerTypes: PointerDevice.Eraser
target: Image {
parent: rect
- source: "resources/cursor-eraser.png"
+ source: "images/cursor-eraser.png"
visible: eraserHandler.hovered
x: eraserHandler.point.position.x
y: eraserHandler.point.position.y - 32
diff --git a/tests/manual/pointer/tapHandler.qml b/examples/quick/pointerhandlers/tapHandler.qml
index c25ea9eb4e..90cf778ede 100644
--- a/tests/manual/pointer/tapHandler.qml
+++ b/examples/quick/pointerhandlers/tapHandler.qml
@@ -1,11 +1,11 @@
/****************************************************************************
**
-** Copyright (C) 2018 The Qt Company Ltd.
+** Copyright (C) 2021 The Qt Company Ltd.
** Contact: https://www.qt.io/licensing/
**
-** This file is part of the manual tests of the Qt Toolkit.
+** This file is part of the examples of the Qt Toolkit.
**
-** $QT_BEGIN_LICENSE:GPL-EXCEPT$
+** $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
@@ -14,24 +14,46 @@
** and conditions see https://www.qt.io/terms-conditions. For further
** information use the contact form at https://www.qt.io/contact-us.
**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 3 as published by the Free Software
-** Foundation with exceptions as appearing in the file LICENSE.GPL3-EXCEPT
-** included in the packaging of this file. Please review the following
-** information to ensure the GNU General Public License requirements will
-** be met: https://www.gnu.org/licenses/gpl-3.0.html.
+** BSD License Usage
+** Alternatively, you may use this file under the terms of the BSD license
+** as follows:
+**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+** * Redistributions of source code must retain the above copyright
+** notice, this list of conditions and the following disclaimer.
+** * Redistributions in binary form must reproduce the above copyright
+** notice, this list of conditions and the following disclaimer in
+** the documentation and/or other materials provided with the
+** distribution.
+** * Neither the name of The Qt Company Ltd nor the names of its
+** contributors may be used to endorse or promote products derived
+** from this software without specific prior written permission.
+**
+**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
**
** $QT_END_LICENSE$
**
****************************************************************************/
-import QtQuick 2.12
-import "qrc:/quick/shared/" as Examples
+import QtQuick
+import "components"
Item {
- width: 480
- height: 320
+ width: 800
+ height: 480
Rectangle {
id: rect
@@ -66,7 +88,7 @@ Item {
}
onLongPressed: longPressFeedback.createObject(rect,
{"x": point.position.x, "y": point.position.y,
- "text": handler.timeHeld.toFixed(3) + " sec",
+ "text": "long press after\n" + handler.timeHeld.toFixed(3) + " sec",
"color": buttonToBlinkColor(point.pressedButtons)})
}
@@ -129,6 +151,15 @@ Item {
ScriptAction { script: rect.border.color = "transparent" }
PauseAnimation { duration: 100 }
}
+
+ Text {
+ text: "tap, click with different buttons, double-click, long press in this area"
+ anchors {
+ bottom: parent.bottom
+ horizontalCenter: parent.horizontalCenter
+ margins: 6
+ }
+ }
}
function buttonToBlinkColor(button) {
@@ -141,22 +172,28 @@ Item {
Row {
spacing: 6
- Text { text: "accepted mouse clicks:"; anchors.verticalCenter: leftAllowedCB.verticalCenter }
- Examples.CheckBox {
+ Text {
+ text: "accepted mouse clicks:"
+ anchors.verticalCenter: leftAllowedCB.verticalCenter
+ }
+ CheckBox {
id: leftAllowedCB
checked: true
- text: "left click"
+ text: "left"
}
- Examples.CheckBox {
+ CheckBox {
id: middleAllowedCB
- text: "middle click"
+ text: "middle"
}
- Examples.CheckBox {
+ CheckBox {
id: rightAllowedCB
- text: "right click"
+ text: "right"
+ }
+ Text {
+ text: " gesture policy:"
+ anchors.verticalCenter: leftAllowedCB.verticalCenter
}
- Text { text: " gesture policy:"; anchors.verticalCenter: leftAllowedCB.verticalCenter }
- Examples.CheckBox {
+ CheckBox {
id: policyDragThresholdCB
text: "drag threshold"
onCheckedChanged: if (checked) {
@@ -164,7 +201,7 @@ Item {
policyReleaseWithinBoundsCB.checked = false;
}
}
- Examples.CheckBox {
+ CheckBox {
id: policyWithinBoundsCB
text: "within bounds"
onCheckedChanged: if (checked) {
@@ -172,7 +209,7 @@ Item {
policyReleaseWithinBoundsCB.checked = false;
}
}
- Examples.CheckBox {
+ CheckBox {
id: policyReleaseWithinBoundsCB
checked: true
text: "release within bounds"
diff --git a/examples/quick/pointerhandlers/tapWithModifiers.qml b/examples/quick/pointerhandlers/tapWithModifiers.qml
new file mode 100644
index 0000000000..86b66512da
--- /dev/null
+++ b/examples/quick/pointerhandlers/tapWithModifiers.qml
@@ -0,0 +1,77 @@
+/****************************************************************************
+**
+** Copyright (C) 2021 The Qt Company Ltd.
+** Contact: https://www.qt.io/licensing/
+**
+** This file is part of the examples of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:BSD$
+** Commercial License Usage
+** Licensees holding valid commercial Qt licenses may use this file in
+** accordance with the commercial license agreement provided with the
+** Software or, alternatively, in accordance with the terms contained in
+** a written agreement between you and The Qt Company. For licensing terms
+** and conditions see https://www.qt.io/terms-conditions. For further
+** information use the contact form at https://www.qt.io/contact-us.
+**
+** BSD License Usage
+** Alternatively, you may use this file under the terms of the BSD license
+** as follows:
+**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+** * Redistributions of source code must retain the above copyright
+** notice, this list of conditions and the following disclaimer.
+** * Redistributions in binary form must reproduce the above copyright
+** notice, this list of conditions and the following disclaimer in
+** the documentation and/or other materials provided with the
+** distribution.
+** * Neither the name of The Qt Company Ltd nor the names of its
+** contributors may be used to endorse or promote products derived
+** from this software without specific prior written permission.
+**
+**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
+**
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+
+import QtQuick 2.12
+
+Item {
+ width: 200
+ height: 200
+ TapHandler {
+ acceptedModifiers: Qt.ControlModifier
+ onTapped: console.log("control-tapped")
+ }
+ TapHandler {
+ acceptedModifiers: Qt.NoModifier
+ onTapped: console.log("tapped with no modifiers")
+ }
+ TapHandler {
+ onTapped:
+ switch (point.modifiers) {
+ case Qt.ControlModifier | Qt.AltModifier:
+ console.log("CTRL+ALT");
+ break;
+ case Qt.ControlModifier | Qt.AltModifier | Qt.MetaModifier:
+ console.log("CTRL+META+ALT");
+ break;
+ default:
+ console.log("other modifiers", point.modifiers)
+ }
+ }
+}
diff --git a/tests/manual/pointer/CMakeLists.txt b/tests/manual/pointer/CMakeLists.txt
deleted file mode 100644
index aa8e15306b..0000000000
--- a/tests/manual/pointer/CMakeLists.txt
+++ /dev/null
@@ -1,110 +0,0 @@
-# Generated from pointer.pro.
-
-#####################################################################
-## pointer Binary:
-#####################################################################
-
-# special case begin
-if(NOT TARGET Qt::Svg OR NOT TARGET Qt::Quick OR NOT TARGET Qt::Qml)
- return()
-endif()
-# special case end
-
-qt_internal_add_manual_test(pointer
- GUI
- SOURCES
- inputinspector.cpp inputinspector.h
- main.cpp
- PUBLIC_LIBRARIES
- Qt::Gui
- Qt::Qml
- Qt::Quick
- Qt::QuickPrivate
- Qt::Svg
-)
-
-# Resources:
-set(qml_resource_files
- "content/CheckBox.qml"
- "content/FakeFlickable.qml"
- "content/FlashAnimation.qml"
- "content/MomentumAnimation.qml"
- "content/MouseAreaButton.qml"
- "content/MouseAreaSlider.qml"
- "content/MouseFeedbackSprite.qml"
- "content/MptaButton.qml"
- "content/MultiButton.qml"
- "content/ScrollBar.qml"
- "content/Slider.qml"
- "content/TapHandlerButton.qml"
- "content/TextBox.qml"
- "content/TouchpointFeedbackSprite.qml"
- "fakeFlickable.qml"
- "flickablesWithHandlers.qml"
- "flingAnimation.qml"
- "joystick.qml"
- "main.qml"
- "map.qml"
- "map2.qml"
- "mixer.qml"
- "multibuttons.qml"
- "photosurface.qml"
- "pinchHandler.qml"
- "pointerDrag.qml"
- "resources/arrowhead.png"
- "resources/balloon.png"
- "resources/cursor-airbrush.png"
- "resources/cursor-eraser.png"
- "resources/cursor-felt-marker.png"
- "resources/cursor-pencil.png"
- "resources/fighter.png"
- "resources/fingersprite.png"
- "resources/grabbing-location.svg"
- "resources/joystick-outer-case-pov.jpg"
- "resources/map.svgz"
- "resources/missile.png"
- "resources/mixer-knob.png"
- "resources/mouse.png"
- "resources/mouse_left.png"
- "resources/mouse_middle.png"
- "resources/mouse_right.png"
- "resources/redball.png"
- "sidebar.qml"
- "singlePointHandlerProperties.qml"
- "tabletCanvasDrawing.qml"
- "tapHandler.qml"
-)
-
-qt_internal_add_resource(pointer "qml"
- PREFIX
- "/"
- FILES
- ${qml_resource_files}
-)
-set(quick_shared_resource_files
- "../../../examples/quick/shared/Button.qml"
- "../../../examples/quick/shared/CheckBox.qml"
- "../../../examples/quick/shared/Label.qml"
- "../../../examples/quick/shared/LauncherList.qml"
- "../../../examples/quick/shared/SimpleLauncherDelegate.qml"
- "../../../examples/quick/shared/Slider.qml"
- "../../../examples/quick/shared/TextField.qml"
- "../../../examples/quick/shared/images/back.png"
- "../../../examples/quick/shared/images/checkmark.png"
- "../../../examples/quick/shared/images/next.png"
- "../../../examples/quick/shared/images/slider_handle.png"
-)
-
-qt_internal_add_resource(pointer "quick_shared"
- PREFIX
- "/quick/shared"
- BASE
- "../../../examples/quick/shared"
- FILES
- ${quick_shared_resource_files}
-)
-
-qt_import_qml_plugins(pointer) # special case
-
-#### Keys ignored in scope 1:.:.:pointer.pro:<TRUE>:
-# TEMPLATE = "app"
diff --git a/tests/manual/pointer/content/MultiButton.qml b/tests/manual/pointer/content/MultiButton.qml
deleted file mode 100644
index 485784a875..0000000000
--- a/tests/manual/pointer/content/MultiButton.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 manual tests of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:GPL-EXCEPT$
-** 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.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 3 as published by the Free Software
-** Foundation with exceptions as appearing in the file LICENSE.GPL3-EXCEPT
-** included in the packaging of this file. Please review the following
-** information to ensure the GNU General Public License requirements will
-** be met: https://www.gnu.org/licenses/gpl-3.0.html.
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-import QtQuick 2.12
-
-Rectangle {
- id: root
- property alias label: label.text
- property alias pressed: tap.pressed
- property bool checked: false
- property alias gesturePolicy: tap.gesturePolicy
- property alias margin: tap.margin
- signal tapped
-
- width: label.implicitWidth * 1.5; height: label.implicitHeight * 2.0
- border.color: "#9f9d9a"; border.width: 1; radius: height / 4; antialiasing: true
-
- gradient: Gradient {
- GradientStop { position: 0.0; color: tap.pressed ? "#b8b5b2" : "#efebe7" }
- GradientStop { position: 1.0; color: "#b8b5b2" }
- }
-
- TapHandler {
- id: tap
- objectName: label.text
- onTapped: {
- tapFlash.start()
- root.tapped()
- }
- }
-
- Text {
- id: label
- font.pointSize: 14
- text: "Button"
- anchors.centerIn: parent
- }
-
- Rectangle {
- anchors.fill: parent
- color: "transparent"
- border.width: 2; radius: root.radius; antialiasing: true
- opacity: tapFlash.running ? 1 : 0
- FlashAnimation on visible {
- id: tapFlash
- }
- }
-}
diff --git a/tests/manual/pointer/flickablesWithHandlers.qml b/tests/manual/pointer/flickablesWithHandlers.qml
index 3a854b2d14..a94af1c329 100644
--- a/tests/manual/pointer/flickablesWithHandlers.qml
+++ b/tests/manual/pointer/flickablesWithHandlers.qml
@@ -27,7 +27,6 @@
****************************************************************************/
import QtQuick
-import "qrc:/quick/shared/" as Examples
import "content"
Rectangle {
@@ -59,10 +58,10 @@ Rectangle {
height: pressDelayCB.implicitHeight + 12
x: 6
color: "lightgray"
- Examples.CheckBox {
+ CheckBox {
x: 6; y: 6
id: pressDelayCB
- text: "press delay"
+ label: "press delay"
}
}
diff --git a/tests/manual/pointer/inputinspector.cpp b/tests/manual/pointer/inputinspector.cpp
deleted file mode 100644
index ee1b4e70c0..0000000000
--- a/tests/manual/pointer/inputinspector.cpp
+++ /dev/null
@@ -1,185 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2020 The Qt Company Ltd.
-** Contact: https://www.qt.io/licensing/
-**
-** This file is part of the manual tests of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:GPL-EXCEPT$
-** 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.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 3 as published by the Free Software
-** Foundation with exceptions as appearing in the file LICENSE.GPL3-EXCEPT
-** included in the packaging of this file. Please review the following
-** information to ensure the GNU General Public License requirements will
-** be met: https://www.gnu.org/licenses/gpl-3.0.html.
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-#include "inputinspector.h"
-#include <QtQuick/QQuickItem>
-#include <QtQuick/private/qquickpointerhandler_p.h>
-#include <QtGui/private/qpointingdevice_p.h>
-#include <QtCore/QSet>
-
-static const int timerInterval = 100;
-
-InputInspector::InputInspector(QObject *parent) : QObject(parent)
-{
-}
-
-InputInspector::~InputInspector()
-{
- m_window = nullptr;
- killTimer(m_timerId);
-}
-
-QString InputInspector::mouseGrabber() const
-{
- QString name;
- if (m_window) {
- if (QQuickItem *grabber = m_window->mouseGrabberItem()) {
- name = objectIdentifier(grabber);
- } else {
- name = QLatin1String("no grabber");
- }
- } else {
- name = "ERROR: need a source window";
- }
- return name;
-}
-
-QString InputInspector::passiveGrabbers() const
-{
- return vectorStringJoin(passiveGrabbers_helper());
-}
-
-QString InputInspector::exclusiveGrabbers() const
-{
- return vectorStringJoin(exclusiveGrabbers_helper());
-}
-
-QString InputInspector::vectorStringJoin(const QVector<QObject*> &arr) const
-{
- QString res;
- for (QObject* obj: arr) {
- if (!res.isEmpty())
- res += QLatin1String(" , ");
- res += objectIdentifier(obj);
- }
- res.prepend(QLatin1String("["));
- res += QLatin1String("]");
- return res;
-}
-
-QQuickWindow *InputInspector::source() const
-{
- return m_window;
-}
-
-void InputInspector::setSource(QQuickWindow *window)
-{
- m_window = window;
- if (m_window && !m_timerId)
- m_timerId = startTimer(timerInterval);
- emit sourceChanged();
-}
-
-void InputInspector::update()
-{
- const QString mouseGrabberName = mouseGrabber();
- if (lastState.mouseGrabber != mouseGrabberName) {
- emit mouseGrabberChanged();
- lastState.mouseGrabber = mouseGrabberName;
- }
-
- const QString tempPassiveGrabbers = passiveGrabbers();
- if (lastState.passiveGrabbers != tempPassiveGrabbers) {
- emit passiveGrabbersChanged();
- lastState.passiveGrabbers = tempPassiveGrabbers;
- }
-
- const QString tempExclusiveGrabbers = exclusiveGrabbers();
- if (lastState.exclusiveGrabbers != tempExclusiveGrabbers) {
- emit exclusiveGrabbersChanged();
- lastState.exclusiveGrabbers = tempExclusiveGrabbers;
- }
-}
-
-void InputInspector::timerEvent(QTimerEvent *event)
-{
- if (event->timerId() == m_timerId)
- update();
-}
-
-const QPointingDevice *InputInspector::pointerDevice() const
-{
- const QPointingDevice *device = nullptr;
- for (const auto dev : QInputDevice::devices()) {
- if (dev->type() == QInputDevice::DeviceType::TouchScreen) {
- device = static_cast<const QPointingDevice *>(dev);
- break;
- }
- }
- if (!device)
- device = QPointingDevice::primaryPointingDevice();
- return device;
-}
-
-QVector<QObject*> InputInspector::passiveGrabbers_helper(int pointId /*= 0*/) const
-{
- QVector<QObject*> result;
- const QPointingDevice *device = pointerDevice();
- if (device && source()) {
- for (auto &epd : QPointingDevicePrivate::get(device)->activePoints.values()) {
- if (!pointId || epd.eventPoint.id() == pointId) {
- for (auto pg : epd.passiveGrabbers) {
- if (!result.contains(pg))
- result << pg;
- }
- }
- }
- }
- return result;
-}
-
-QVector<QObject*> InputInspector::exclusiveGrabbers_helper(int pointId /*= 0*/) const
-{
- QVector<QObject*> result;
- const QPointingDevice *device = pointerDevice();
- if (device && source()) {
- for (auto &epd : QPointingDevicePrivate::get(device)->activePoints.values()) {
- if (!pointId || epd.eventPoint.id() == pointId) {
- if (auto g = epd.exclusiveGrabber.data()) {
- if (!result.contains(g))
- result << g;
- }
- }
- }
- }
- return result;
-}
-
-QString InputInspector::objectIdentifier(QObject *o)
-{
- QString name;
- name = o->objectName();
- if (name.isEmpty())
- name = o->property("text").toString();
- if (name.isEmpty())
- name = o->metaObject()->className();
- if (name.isEmpty())
- name = QLatin1String("unknown");
-
- return name;
-}
diff --git a/tests/manual/pointer/inputinspector.h b/tests/manual/pointer/inputinspector.h
deleted file mode 100644
index 31d99cf25d..0000000000
--- a/tests/manual/pointer/inputinspector.h
+++ /dev/null
@@ -1,79 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2020 The Qt Company Ltd.
-** Contact: https://www.qt.io/licensing/
-**
-** This file is part of the manual tests of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:GPL-EXCEPT$
-** 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.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 3 as published by the Free Software
-** Foundation with exceptions as appearing in the file LICENSE.GPL3-EXCEPT
-** included in the packaging of this file. Please review the following
-** information to ensure the GNU General Public License requirements will
-** be met: https://www.gnu.org/licenses/gpl-3.0.html.
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-#ifndef INPUTINSPECTOR_H
-#define INPUTINSPECTOR_H
-
-#include <QObject>
-#include <QtQuick/QQuickWindow>
-class QQuickPointerHandler;
-class QPointingDevice;
-
-class InputInspector : public QObject
-{
- Q_OBJECT
- Q_PROPERTY(QString mouseGrabber READ mouseGrabber NOTIFY mouseGrabberChanged)
- Q_PROPERTY(QString passiveGrabbers READ passiveGrabbers NOTIFY passiveGrabbersChanged)
- Q_PROPERTY(QString exclusiveGrabbers READ exclusiveGrabbers NOTIFY exclusiveGrabbersChanged)
- Q_PROPERTY(QQuickWindow * source READ source WRITE setSource NOTIFY sourceChanged)
-public:
- explicit InputInspector(QObject *parent = nullptr);
- ~InputInspector();
- QString mouseGrabber() const;
- QString passiveGrabbers() const;
- QString exclusiveGrabbers() const;
- QQuickWindow *source() const;
- void setSource(QQuickWindow *window);
-
- void timerEvent(QTimerEvent *event);
- Q_INVOKABLE void update();
-
-signals:
- void mouseGrabberChanged();
- void passiveGrabbersChanged();
- void exclusiveGrabbersChanged();
- void sourceChanged();
-private:
- QVector<QObject*> passiveGrabbers_helper(int pointId = 0) const;
- QVector<QObject*> exclusiveGrabbers_helper(int pointId = 0) const;
- static QString objectIdentifier(QObject *o);
- const QPointingDevice *pointerDevice() const;
- QString vectorStringJoin(const QVector<QObject*> &arr) const;
-
-private:
- mutable struct LastState {
- QString mouseGrabber;
- QString passiveGrabbers;
- QString exclusiveGrabbers;
- } lastState;
-
- QQuickWindow *m_window = nullptr;
- int m_timerId = 0;
-};
-
-#endif // INPUTINSPECTOR_H
diff --git a/tests/manual/pointer/main.cpp b/tests/manual/pointer/main.cpp
deleted file mode 100644
index 87a38382c1..0000000000
--- a/tests/manual/pointer/main.cpp
+++ /dev/null
@@ -1,58 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2018 The Qt Company Ltd.
-** Contact: https://www.qt.io/licensing/
-**
-** This file is part of the manual tests of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:GPL-EXCEPT$
-** 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.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 3 as published by the Free Software
-** Foundation with exceptions as appearing in the file LICENSE.GPL3-EXCEPT
-** included in the packaging of this file. Please review the following
-** information to ensure the GNU General Public License requirements will
-** be met: https://www.gnu.org/licenses/gpl-3.0.html.
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-#include <QGuiApplication>
-#include <QQmlApplicationEngine>
-#include <QQuickItem>
-#include <QQuickWindow>
-#include "inputinspector.h"
-
-int main(int argc, char *argv[])
-{
- QGuiApplication app(argc, argv);
- qmlRegisterType<InputInspector>("org.qtproject.Test", 1, 0, "InputInspector");
-
- QQmlApplicationEngine engine;
- engine.load(QUrl(QStringLiteral("qrc:/main.qml")));
- if (engine.rootObjects().isEmpty())
- return -1;
- if (!app.arguments().isEmpty()) {
- QQuickWindow * win = static_cast<QQuickWindow *>(engine.rootObjects().first());
- auto lastArg = app.arguments().last();
- if (lastArg.endsWith(QLatin1String(".qml"))) {
- auto root = win->findChild<QQuickItem *>("LauncherList");
- int showExampleIdx = -1;
- for (int i = root->metaObject()->methodCount(); showExampleIdx < 0 && i >= 0; --i)
- if (root->metaObject()->method(i).name() == QByteArray("showExample"))
- showExampleIdx = i;
- QMetaMethod showExampleFn = root->metaObject()->method(showExampleIdx);
- showExampleFn.invoke(root, Q_ARG(QVariant, QVariant(QLatin1String("../../") + lastArg)));
- }
- }
-
- return app.exec();
-}
diff --git a/tests/manual/pointer/main.qml b/tests/manual/pointer/main.qml
deleted file mode 100644
index c7c1380c64..0000000000
--- a/tests/manual/pointer/main.qml
+++ /dev/null
@@ -1,102 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2019 The Qt Company Ltd.
-** Contact: https://www.qt.io/licensing/
-**
-** This file is part of the manual tests of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:GPL-EXCEPT$
-** 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.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 3 as published by the Free Software
-** Foundation with exceptions as appearing in the file LICENSE.GPL3-EXCEPT
-** included in the packaging of this file. Please review the following
-** information to ensure the GNU General Public License requirements will
-** be met: https://www.gnu.org/licenses/gpl-3.0.html.
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-import QtQuick 2.12
-import QtQuick.Window 2.12
-import QtQuick.Layouts 1.2
-import org.qtproject.Test 1.0
-import "qrc:/quick/shared/" as Examples
-import "content"
-
-Window {
- id: window
- width: 800
- height: 600
- visible: true
- Examples.LauncherList {
- id: ll
- objectName: "LauncherList"
- anchors.fill: parent
- Component.onCompleted: {
- addExample("single point handler", "QQuickPointerSingleHandler: test properties copied from events", Qt.resolvedUrl("singlePointHandlerProperties.qml"))
- addExample("hover", "ensure that a hierarchy of items can share the hover state", Qt.resolvedUrl("sidebar.qml"))
- addExample("joystick", "DragHandler: move one item inside another with any pointing device", Qt.resolvedUrl("joystick.qml"))
- addExample("mixer", "mixing console", Qt.resolvedUrl("mixer.qml"))
- addExample("pinch", "PinchHandler: scale, rotate and drag", Qt.resolvedUrl("pinchHandler.qml"))
- addExample("map", "scale and pan", Qt.resolvedUrl("map.qml"))
- addExample("custom map", "scale and pan", Qt.resolvedUrl("map2.qml"))
- addExample("fling animation", "DragHandler: after dragging, use an animation to simulate momentum", Qt.resolvedUrl("flingAnimation.qml"))
- addExample("fake Flickable", "implementation of a simplified Flickable using only Items, DragHandler and MomentumAnimation", Qt.resolvedUrl("fakeFlickable.qml"))
- addExample("photo surface", "re-implementation of the existing photo surface demo using Handlers", Qt.resolvedUrl("photosurface.qml"))
- addExample("tap", "TapHandler: device-agnostic tap/click detection for buttons", Qt.resolvedUrl("tapHandler.qml"))
- addExample("multibuttons", "TapHandler: gesturePolicy (99 red balloons)", Qt.resolvedUrl("multibuttons.qml"))
- addExample("flickables with Handlers", "Parallel Flickables with buttons, sliders etc. implemented in various ways", Qt.resolvedUrl("flickablesWithHandlers.qml"))
- addExample("tap and drag", "Flickable with all possible combinations of TapHandler and DragHandler children", Qt.resolvedUrl("pointerDrag.qml"))
- addExample("tablet canvas", "PointHandler and HoverHandler with a tablet: detect the stylus, and draw", Qt.resolvedUrl("tabletCanvasDrawing.qml"))
- }
- }
- Item {
- id: glassPane
- objectName: "glassPane"
- z: 10000
- anchors.fill: parent
-
- // TODO use Instantiator to create these... but we need to be able to set their parents to glassPane somehow (QTBUG-64546)
- TouchpointFeedbackSprite { }
- TouchpointFeedbackSprite { }
- TouchpointFeedbackSprite { }
- TouchpointFeedbackSprite { }
- TouchpointFeedbackSprite { }
- TouchpointFeedbackSprite { }
-
- MouseFeedbackSprite { }
-
- InputInspector {
- id: inspector
- source: window
- }
-
- Rectangle {
- anchors.bottom: parent.bottom
- anchors.right: parent.right
- anchors.margins: 4
- radius: 5
- width: Math.max(grid.implicitWidth, 400)
- implicitHeight: grid.implicitHeight
- color: "#40404080"
- GridLayout {
- id: grid
- width: parent.width
- columns: 3
- Text { text: "mouseGrabber" } Text { text: inspector.mouseGrabber } Item { Layout.fillWidth: true }
- Text { text: "passiveGrabbers" } Text { text: inspector.passiveGrabbers } Item { Layout.fillWidth: true }
- Text { text: "exclusiveGrabbers" } Text { text: inspector.exclusiveGrabbers } Item { Layout.fillWidth: true }
- }
- }
- }
-}
diff --git a/tests/manual/pointer/mixer.qml b/tests/manual/pointer/mixer.qml
deleted file mode 100644
index 6044b59633..0000000000
--- a/tests/manual/pointer/mixer.qml
+++ /dev/null
@@ -1,59 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2016 The Qt Company Ltd.
-** Contact: https://www.qt.io/licensing/
-**
-** This file is part of the manual tests of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:GPL-EXCEPT$
-** 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.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 3 as published by the Free Software
-** Foundation with exceptions as appearing in the file LICENSE.GPL3-EXCEPT
-** included in the packaging of this file. Please review the following
-** information to ensure the GNU General Public License requirements will
-** be met: https://www.gnu.org/licenses/gpl-3.0.html.
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-import QtQuick 2.12
-import "content"
-
-Rectangle {
- id: root
- width: 1280
- height: 960
- objectName: "root"
- color: "#222222"
-
- ListView {
- id: list
- objectName: "listView"
- anchors.fill: parent
- anchors.margins: 10
- orientation: Qt.Horizontal
-
- model: 20
-
- delegate: Item {
- objectName: "delegateItem" + index
- width: 154
- height: list.height
-
- Slider {
- anchors.fill: parent
- label: "Channel " + (index + 1)
- }
- }
- }
-}
diff --git a/tests/manual/pointer/multibuttons.qml b/tests/manual/pointer/multibuttons.qml
deleted file mode 100644
index d143134a3a..0000000000
--- a/tests/manual/pointer/multibuttons.qml
+++ /dev/null
@@ -1,86 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2017 The Qt Company Ltd.
-** Contact: https://www.qt.io/licensing/
-**
-** This file is part of the manual tests of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:GPL-EXCEPT$
-** 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.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 3 as published by the Free Software
-** Foundation with exceptions as appearing in the file LICENSE.GPL3-EXCEPT
-** included in the packaging of this file. Please review the following
-** information to ensure the GNU General Public License requirements will
-** be met: https://www.gnu.org/licenses/gpl-3.0.html.
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-import QtQuick 2.12
-import QtQuick.Particles 2.0
-import QtQuick.Layouts 1.0
-import "content"
-
-Item {
- width: 800
- height: 800
- ColumnLayout {
- anchors.right: parent.right
- spacing: 20
- Text { text: "protagonist"; font.pointSize: 12 }
- MultiButton {
- id: balloonsButton
- label: "Launch Balloons"
- Layout.fillWidth: true
- gesturePolicy: TapHandler.WithinBounds
- margin: 10
- }
- Text { text: "the goons"; font.pointSize: 12 }
- MultiButton {
- id: missilesButton
- label: "Launch Missile"
- Layout.fillWidth: true
- gesturePolicy: TapHandler.ReleaseWithinBounds
- margin: 10
- onTapped: missileEmitter.burst(1)
- }
- MultiButton {
- id: fightersButton
- label: "Launch Fighters"
- Layout.fillWidth: true
- gesturePolicy: TapHandler.DragThreshold
- margin: 10
- }
- }
- ParticleSystem {
- anchors.bottom: parent.bottom
- anchors.left: parent.left
- anchors.leftMargin: 150
- ImageParticle { source: "resources/balloon.png" }
- Emitter { anchors.bottom: parent.bottom; enabled: balloonsButton.pressed; lifeSpan: 5000; size: 64
- maximumEmitted: 99
- emitRate: 50; velocity: PointDirection { x: 10; y: -150; yVariation: 30; xVariation: 50 } } }
- ParticleSystem {
- anchors.verticalCenter: parent.verticalCenter
- anchors.right: parent.right
- ImageParticle { source: "resources/fighter.png" }
- Emitter { anchors.bottom: parent.bottom; enabled: fightersButton.pressed; lifeSpan: 15000; size: 204
- emitRate: 3; velocity: PointDirection { x: -1000; y: -250; yVariation: 150; xVariation: 50 } } }
- ParticleSystem {
- anchors.bottom: parent.bottom
- anchors.right: parent.right
- anchors.rightMargin: 100
- ImageParticle { source: "resources/missile.png"; autoRotation: true; rotation: 90 }
- Emitter { id: missileEmitter; anchors.bottom: parent.bottom; lifeSpan: 5000; size: 128;
- emitRate: 0; velocity: PointDirection { x: -200; y: -350; yVariation: 200; xVariation: 100 } } }
-}
diff --git a/tests/manual/pointer/qml.qrc b/tests/manual/pointer/qml.qrc
deleted file mode 100644
index 79df367391..0000000000
--- a/tests/manual/pointer/qml.qrc
+++ /dev/null
@@ -1,52 +0,0 @@
-<RCC>
- <qresource prefix="/">
- <file>flingAnimation.qml</file>
- <file>main.qml</file>
- <file>fakeFlickable.qml</file>
- <file>flickablesWithHandlers.qml</file>
- <file>joystick.qml</file>
- <file>map.qml</file>
- <file>mixer.qml</file>
- <file>multibuttons.qml</file>
- <file>photosurface.qml</file>
- <file>pinchHandler.qml</file>
- <file>pointerDrag.qml</file>
- <file>singlePointHandlerProperties.qml</file>
- <file>sidebar.qml</file>
- <file>tabletCanvasDrawing.qml</file>
- <file>tapHandler.qml</file>
- <file>content/CheckBox.qml</file>
- <file>content/FakeFlickable.qml</file>
- <file>content/FlashAnimation.qml</file>
- <file>content/MomentumAnimation.qml</file>
- <file>content/MouseAreaButton.qml</file>
- <file>content/MouseAreaSlider.qml</file>
- <file>content/MouseFeedbackSprite.qml</file>
- <file>content/MptaButton.qml</file>
- <file>content/MultiButton.qml</file>
- <file>content/ScrollBar.qml</file>
- <file>content/Slider.qml</file>
- <file>content/TapHandlerButton.qml</file>
- <file>content/TextBox.qml</file>
- <file>content/TouchpointFeedbackSprite.qml</file>
- <file>resources/arrowhead.png</file>
- <file>resources/balloon.png</file>
- <file>resources/cursor-airbrush.png</file>
- <file>resources/cursor-eraser.png</file>
- <file>resources/cursor-felt-marker.png</file>
- <file>resources/cursor-pencil.png</file>
- <file>resources/fighter.png</file>
- <file>resources/fingersprite.png</file>
- <file>resources/grabbing-location.svg</file>
- <file>resources/joystick-outer-case-pov.jpg</file>
- <file>resources/map.svgz</file>
- <file>resources/missile.png</file>
- <file>resources/mixer-knob.png</file>
- <file>resources/mouse.png</file>
- <file>resources/mouse_left.png</file>
- <file>resources/mouse_middle.png</file>
- <file>resources/mouse_right.png</file>
- <file>resources/redball.png</file>
- <file>map2.qml</file>
- </qresource>
-</RCC>