diff options
author | Andras Becsi <andras.becsi@digia.com> | 2014-06-24 18:36:15 +0200 |
---|---|---|
committer | Andras Becsi <andras.becsi@digia.com> | 2014-06-24 18:42:38 +0200 |
commit | 68c4131a416fc002ea8f025478c30d969de5f03d (patch) | |
tree | 2778628759cb9892e0a7a776b8531d70bc01a562 | |
parent | 986f1fc7829248bbcf0fe84471cbf48c932908ce (diff) | |
download | qtwebengine-68c4131a416fc002ea8f025478c30d969de5f03d.tar.gz |
Force active focus for touch begin and loose it for focusOutEvent
This fixes the focusing issues on touch devices.
Change-Id: I26c0080ea70aeabbd608e15fbd3705b907bdb68e
Reviewed-by: Zeno Albisser <zeno.albisser@digia.com>
-rw-r--r-- | src/webengine/render_widget_host_view_qt_delegate_quick.cpp | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/src/webengine/render_widget_host_view_qt_delegate_quick.cpp b/src/webengine/render_widget_host_view_qt_delegate_quick.cpp index 8d7f298e7..822cea4b4 100644 --- a/src/webengine/render_widget_host_view_qt_delegate_quick.cpp +++ b/src/webengine/render_widget_host_view_qt_delegate_quick.cpp @@ -147,11 +147,13 @@ void RenderWidgetHostViewQtDelegateQuick::inputMethodStateChanged(bool editorVis void RenderWidgetHostViewQtDelegateQuick::focusInEvent(QFocusEvent *event) { + setFocus(true); m_client->forwardEvent(event); } void RenderWidgetHostViewQtDelegateQuick::focusOutEvent(QFocusEvent *event) { + setFocus(false); m_client->forwardEvent(event); } @@ -189,6 +191,8 @@ void RenderWidgetHostViewQtDelegateQuick::wheelEvent(QWheelEvent *event) void RenderWidgetHostViewQtDelegateQuick::touchEvent(QTouchEvent *event) { + if (event->type() == QEvent::TouchBegin && !hasActiveFocus()) + forceActiveFocus(); m_client->forwardEvent(event); } |