From 76922a706f0584ce2aa1a0ca758cf0c6196ea729 Mon Sep 17 00:00:00 2001 From: Alexander Volkov Date: Tue, 9 Dec 2014 18:52:24 +0300 Subject: Decide whether to synthesize mouse events on a per device basis Currently Qt uses the QPlatformIntegration::StyleHint SynthesizeMouseFromTouchEvents to check whether to synthesize mouse events from touch events. But not only platform plugins can produce touch events, they can be created by e.g. QTest::touchEvent() and in this case we almost definitely need synthesizing regardless of the platform. This commit introduces a QTouchDevice::MouseEmulation capability which replaces use of the QPlatformIntegration::SynthesizeMouseFromTouchEvents. So it's possible to pass QTouchDevice without this capability to QTest::touchEvent() and be sure that mouse events will be synthesized. Notice that touch pads always emulate mouse events. As a result we can activate some tests which were disabled for specific platform configurations by commits 6c1670d8c273819435867c42725c0db0eee597dc and e9760f1559361c39f269fb89f1ebd01f6ee8378d. Change-Id: Idc82fa4007a095fc1cb5934979361b0023d2b793 Reviewed-by: Laszlo Agocs --- src/gui/kernel/qtouchdevice.cpp | 3 +++ 1 file changed, 3 insertions(+) (limited to 'src/gui/kernel/qtouchdevice.cpp') diff --git a/src/gui/kernel/qtouchdevice.cpp b/src/gui/kernel/qtouchdevice.cpp index cbba171276..8737825de0 100644 --- a/src/gui/kernel/qtouchdevice.cpp +++ b/src/gui/kernel/qtouchdevice.cpp @@ -96,6 +96,9 @@ QT_BEGIN_NAMESPACE \value NormalizedPosition Indicates that the normalized position is available, meaning that normalizedPos() returns a valid value. + + \value MouseEmulation Indicates that the device synthesizes mouse events. + This enum value has been introduced in Qt 5.5. */ /*! -- cgit v1.2.3