aboutsummaryrefslogtreecommitdiffstats
path: root/src/quick/items/qquickpincharea_p.h
diff options
context:
space:
mode:
authorMorten Johan Sørvig <morten.sorvig@digia.com>2014-01-08 11:20:19 +0100
committerThe Qt Project <gerrit-noreply@qt-project.org>2014-01-17 10:48:38 +0100
commit2833556a079defdb27c3dbe117ab66ea8080de75 (patch)
tree82bf4af1c93f86b7d969d245ff8846952acb8f25 /src/quick/items/qquickpincharea_p.h
parent6ccb9f8f04ea257520e518b25999907c6a8421e1 (diff)
Improve Mac OS X touch event enabling.
Previously, the Qt Quick touch interaction items would enable touch events on window change. On app startup this would typically happen before the platform window was created, and the call to registerTouchWindow would then create the platform window. registerTouchWindow in QtBase has now been changed to not create the platform window since this has unwanted side effects. Calling it at window change time will then have no effect for the initial window change. Enable and disable touch events on hoverEnter/Leave instead. This is similar to what QtWidgets does and has an additional benefit: touch events can now be enabled when the mouse cursor is hovering over a touch item, reducing the chances of it interfering with scroll events for other items. Task-number: QTBUG-32988 Change-Id: Ic48dbec910f52299d5068f5ca7508be73cdc6f36 Reviewed-by: Shawn Rutledge <shawn.rutledge@digia.com>
Diffstat (limited to 'src/quick/items/qquickpincharea_p.h')
-rw-r--r--src/quick/items/qquickpincharea_p.h9
1 files changed, 5 insertions, 4 deletions
diff --git a/src/quick/items/qquickpincharea_p.h b/src/quick/items/qquickpincharea_p.h
index c991145fc7..81bdbda3a1 100644
--- a/src/quick/items/qquickpincharea_p.h
+++ b/src/quick/items/qquickpincharea_p.h
@@ -282,9 +282,11 @@ protected:
virtual void geometryChanged(const QRectF &newGeometry,
const QRectF &oldGeometry);
virtual void itemChange(ItemChange change, const ItemChangeData& value);
-
-private Q_SLOTS:
- void setTouchEventsEnabledForWindow(QWindow *window);
+#ifdef Q_OS_OSX
+ void hoverEnterEvent(QHoverEvent *event);
+ void hoverLeaveEvent(QHoverEvent *event);
+ void setTouchEventsEnabled(bool enable);
+#endif
private:
void updatePinch();
@@ -292,7 +294,6 @@ private:
void handleRelease();
private:
- QWindow *_currentWindow;
Q_DISABLE_COPY(QQuickPinchArea)
Q_DECLARE_PRIVATE(QQuickPinchArea)
};