aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorShawn Rutledge <shawn.rutledge@qt.io>2020-09-30 10:42:48 +0200
committerShawn Rutledge <shawn.rutledge@qt.io>2020-10-02 10:42:46 +0200
commitb6280dd207746f32092f5cb2b55b8c5f8ffa44b9 (patch)
tree4d094f6d6b76186f75259bf7d80d5679ca33029b
parent43c9cc30a26f7fb482248115eec418128a1add0f (diff)
Add setAcceptTouchEvents() in controls that handle touch events
This could have been done since Qt 5.10. In Qt 6 it becomes mandatory; so perhaps we will add a qWarning in case an Item handles touch events without declaring that it wants to handle them, to encourage users to do that. This patch will then prevent that warning when using Controls. See qtdeclarative/1457df74f4c1d770e1e820de8cd082be1bd2489e and then qtdeclarative/ab91e7fa02a562d80fd0747f28a60e00c3b45a01 Cherry-picked from dev branch 0ef66bfa 811c6193 and 3c2eab82. Change-Id: I5f9318bd1cad0f760caf02b9066e729af3601098 Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>
-rw-r--r--src/quicktemplates2/qquickabstractbutton.cpp2
-rw-r--r--src/quicktemplates2/qquickdial.cpp3
-rw-r--r--src/quicktemplates2/qquickoverlay.cpp3
-rw-r--r--src/quicktemplates2/qquickpageindicator.cpp6
-rw-r--r--src/quicktemplates2/qquickpopupitem.cpp3
-rw-r--r--src/quicktemplates2/qquickrangeslider.cpp3
-rw-r--r--src/quicktemplates2/qquickscrollbar.cpp9
-rw-r--r--src/quicktemplates2/qquickslider.cpp3
8 files changed, 32 insertions, 0 deletions
diff --git a/src/quicktemplates2/qquickabstractbutton.cpp b/src/quicktemplates2/qquickabstractbutton.cpp
index ac62a2a0..c0e1cb8e 100644
--- a/src/quicktemplates2/qquickabstractbutton.cpp
+++ b/src/quicktemplates2/qquickabstractbutton.cpp
@@ -438,6 +438,7 @@ QQuickAbstractButton::QQuickAbstractButton(QQuickItem *parent)
setActiveFocusOnTab(true);
setFocusPolicy(Qt::StrongFocus);
setAcceptedMouseButtons(Qt::LeftButton);
+ setAcceptTouchEvents(true);
#if QT_CONFIG(cursor)
setCursor(Qt::ArrowCursor);
#endif
@@ -449,6 +450,7 @@ QQuickAbstractButton::QQuickAbstractButton(QQuickAbstractButtonPrivate &dd, QQui
setActiveFocusOnTab(true);
setFocusPolicy(Qt::StrongFocus);
setAcceptedMouseButtons(Qt::LeftButton);
+ setAcceptTouchEvents(true);
#if QT_CONFIG(cursor)
setCursor(Qt::ArrowCursor);
#endif
diff --git a/src/quicktemplates2/qquickdial.cpp b/src/quicktemplates2/qquickdial.cpp
index 99bd0e98..b64d8d6e 100644
--- a/src/quicktemplates2/qquickdial.cpp
+++ b/src/quicktemplates2/qquickdial.cpp
@@ -313,6 +313,9 @@ QQuickDial::QQuickDial(QQuickItem *parent)
{
setActiveFocusOnTab(true);
setAcceptedMouseButtons(Qt::LeftButton);
+#if QT_CONFIG(quicktemplates2_multitouch)
+ setAcceptTouchEvents(true);
+#endif
#if QT_CONFIG(cursor)
setCursor(Qt::ArrowCursor);
#endif
diff --git a/src/quicktemplates2/qquickoverlay.cpp b/src/quicktemplates2/qquickoverlay.cpp
index e9f8801d..b8d417f2 100644
--- a/src/quicktemplates2/qquickoverlay.cpp
+++ b/src/quicktemplates2/qquickoverlay.cpp
@@ -311,6 +311,9 @@ QQuickOverlay::QQuickOverlay(QQuickItem *parent)
Q_D(QQuickOverlay);
setZ(1000001); // DefaultWindowDecoration+1
setAcceptedMouseButtons(Qt::AllButtons);
+#if QT_CONFIG(quicktemplates2_multitouch)
+ setAcceptTouchEvents(true);
+#endif
setFiltersChildMouseEvents(true);
setVisible(false);
diff --git a/src/quicktemplates2/qquickpageindicator.cpp b/src/quicktemplates2/qquickpageindicator.cpp
index a06884cb..4a2b7f14 100644
--- a/src/quicktemplates2/qquickpageindicator.cpp
+++ b/src/quicktemplates2/qquickpageindicator.cpp
@@ -276,11 +276,17 @@ void QQuickPageIndicator::setInteractive(bool interactive)
d->interactive = interactive;
if (interactive) {
setAcceptedMouseButtons(Qt::LeftButton);
+#if QT_CONFIG(quicktemplates2_multitouch)
+ setAcceptTouchEvents(true);
+#endif
#if QT_CONFIG(cursor)
setCursor(Qt::ArrowCursor);
#endif
} else {
setAcceptedMouseButtons(Qt::NoButton);
+#if QT_CONFIG(quicktemplates2_multitouch)
+ setAcceptTouchEvents(true);
+#endif
#if QT_CONFIG(cursor)
unsetCursor();
#endif
diff --git a/src/quicktemplates2/qquickpopupitem.cpp b/src/quicktemplates2/qquickpopupitem.cpp
index 8e169b0b..0069b9fc 100644
--- a/src/quicktemplates2/qquickpopupitem.cpp
+++ b/src/quicktemplates2/qquickpopupitem.cpp
@@ -164,6 +164,9 @@ QQuickPopupItem::QQuickPopupItem(QQuickPopup *popup)
setParent(popup);
setFlag(ItemIsFocusScope);
setAcceptedMouseButtons(Qt::AllButtons);
+#if QT_CONFIG(quicktemplates2_multitouch)
+ setAcceptTouchEvents(true);
+#endif
#if QT_CONFIG(cursor)
setCursor(Qt::ArrowCursor);
#endif
diff --git a/src/quicktemplates2/qquickrangeslider.cpp b/src/quicktemplates2/qquickrangeslider.cpp
index 9ad12102..3702c971 100644
--- a/src/quicktemplates2/qquickrangeslider.cpp
+++ b/src/quicktemplates2/qquickrangeslider.cpp
@@ -625,6 +625,9 @@ QQuickRangeSlider::QQuickRangeSlider(QQuickItem *parent)
setFlag(QQuickItem::ItemIsFocusScope);
setAcceptedMouseButtons(Qt::LeftButton);
+#if QT_CONFIG(quicktemplates2_multitouch)
+ setAcceptTouchEvents(true);
+#endif
#if QT_CONFIG(cursor)
setCursor(Qt::ArrowCursor);
#endif
diff --git a/src/quicktemplates2/qquickscrollbar.cpp b/src/quicktemplates2/qquickscrollbar.cpp
index 678b7942..4733d665 100644
--- a/src/quicktemplates2/qquickscrollbar.cpp
+++ b/src/quicktemplates2/qquickscrollbar.cpp
@@ -205,11 +205,17 @@ void QQuickScrollBarPrivate::setInteractive(bool enabled)
interactive = enabled;
if (interactive) {
q->setAcceptedMouseButtons(Qt::LeftButton);
+#if QT_CONFIG(quicktemplates2_multitouch)
+ q->setAcceptTouchEvents(true);
+#endif
#if QT_CONFIG(cursor)
q->setCursor(Qt::ArrowCursor);
#endif
} else {
q->setAcceptedMouseButtons(Qt::NoButton);
+#if QT_CONFIG(quicktemplates2_multitouch)
+ q->setAcceptTouchEvents(false);
+#endif
#if QT_CONFIG(cursor)
q->unsetCursor();
#endif
@@ -303,6 +309,9 @@ QQuickScrollBar::QQuickScrollBar(QQuickItem *parent)
{
setKeepMouseGrab(true);
setAcceptedMouseButtons(Qt::LeftButton);
+#if QT_CONFIG(quicktemplates2_multitouch)
+ setAcceptTouchEvents(true);
+#endif
#if QT_CONFIG(cursor)
setCursor(Qt::ArrowCursor);
#endif
diff --git a/src/quicktemplates2/qquickslider.cpp b/src/quicktemplates2/qquickslider.cpp
index f4a459fa..ddb4c434 100644
--- a/src/quicktemplates2/qquickslider.cpp
+++ b/src/quicktemplates2/qquickslider.cpp
@@ -274,6 +274,9 @@ QQuickSlider::QQuickSlider(QQuickItem *parent)
setActiveFocusOnTab(true);
setFocusPolicy(Qt::StrongFocus);
setAcceptedMouseButtons(Qt::LeftButton);
+#if QT_CONFIG(quicktemplates2_multitouch)
+ setAcceptTouchEvents(true);
+#endif
#if QT_CONFIG(cursor)
setCursor(Qt::ArrowCursor);
#endif