diff options
author | Shawn Rutledge <shawn.rutledge@qt.io> | 2020-09-30 10:42:48 +0200 |
---|---|---|
committer | Shawn Rutledge <shawn.rutledge@qt.io> | 2020-10-02 10:42:46 +0200 |
commit | b6280dd207746f32092f5cb2b55b8c5f8ffa44b9 (patch) | |
tree | 4d094f6d6b76186f75259bf7d80d5679ca33029b | |
parent | 43c9cc30a26f7fb482248115eec418128a1add0f (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.cpp | 2 | ||||
-rw-r--r-- | src/quicktemplates2/qquickdial.cpp | 3 | ||||
-rw-r--r-- | src/quicktemplates2/qquickoverlay.cpp | 3 | ||||
-rw-r--r-- | src/quicktemplates2/qquickpageindicator.cpp | 6 | ||||
-rw-r--r-- | src/quicktemplates2/qquickpopupitem.cpp | 3 | ||||
-rw-r--r-- | src/quicktemplates2/qquickrangeslider.cpp | 3 | ||||
-rw-r--r-- | src/quicktemplates2/qquickscrollbar.cpp | 9 | ||||
-rw-r--r-- | src/quicktemplates2/qquickslider.cpp | 3 |
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 |