From 438211ec627073817fcaf6d3a07b76f2aa5d90e0 Mon Sep 17 00:00:00 2001 From: Richard Moe Gustavsen Date: Wed, 19 Jun 2013 11:21:14 +0200 Subject: QPlatformIntegration: add new style hint: SetFocusOnTouchRelease MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit On desktop platforms, widgets have traditionally received focus on mouse press. On touch platforms (iOS, Android) this is different, there you need to delay setting the focus until a touch release (probably to check if the press starts a flick or tap'n'hold etc). This patch will add a new style hint SetFocusOnRelease that can be set by the plugin to control this behavior in Qt. Change-Id: I2e4d714894e327822c855eb48a3b28e354726e95 Reviewed-by: Friedemann Kleint Reviewed-by: Tor Arne Vestbø Reviewed-by: Paul Olav Tvete --- src/gui/kernel/qstylehints.cpp | 11 +++++++++++ 1 file changed, 11 insertions(+) (limited to 'src/gui/kernel/qstylehints.cpp') diff --git a/src/gui/kernel/qstylehints.cpp b/src/gui/kernel/qstylehints.cpp index 30b12835f7..a302f2186c 100644 --- a/src/gui/kernel/qstylehints.cpp +++ b/src/gui/kernel/qstylehints.cpp @@ -218,4 +218,15 @@ bool QStyleHints::useRtlExtensions() const return hint(QPlatformIntegration::UseRtlExtensions).toBool(); } +/*! + Returns \c true if focus objects (line edits etc) should receive + input focus after a touch/mouse release. This is normal behavior on + touch platforms. On desktop platforms, the standard is to set + focus already on touch/mouse press. +*/ +bool QStyleHints::setFocusOnTouchRelease() const +{ + return hint(QPlatformIntegration::SetFocusOnTouchRelease).toBool(); +} + QT_END_NAMESPACE -- cgit v1.2.3