diff options
author | Joerg Bornemann <joerg.bornemann@qt.io> | 2017-04-10 13:47:20 +0200 |
---|---|---|
committer | Joerg Bornemann <joerg.bornemann@qt.io> | 2017-04-25 18:18:30 +0000 |
commit | 3902b27ee40400db6cf596ca0db31b6497f0421b (patch) | |
tree | 774bb6e244482dd308b7488e91cfdba4a3eee665 /src/webengine | |
parent | 3e7aab785a22e0bdf96d22e2ed03689c37554baa (diff) |
Override shortcuts in HTML input fields
When users defined a single-letter short cut it was not possible
to type this letter in HTML input fields.
Fix this by accepting ShortcutOverride events whenever the web page
is editing text.
Use QInputControl::isCommonTextEditShortcut for Qt 5.9 and later.
For the case where QtWebEngine is built against an older Qt a duplicated
code path is used.
Also, ensure users do not override web action short cuts.
Task-number: QTBUG-59053
Change-Id: Ic26cf2a040a72b118273c6645c00b2913b995b0b
Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
Diffstat (limited to 'src/webengine')
-rw-r--r-- | src/webengine/render_widget_host_view_qt_delegate_quick.cpp | 8 |
1 files changed, 5 insertions, 3 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 b3348b43e..749a2e0d8 100644 --- a/src/webengine/render_widget_host_view_qt_delegate_quick.cpp +++ b/src/webengine/render_widget_host_view_qt_delegate_quick.cpp @@ -241,10 +241,12 @@ void RenderWidgetHostViewQtDelegateQuick::inputMethodStateChanged(bool editorVis bool RenderWidgetHostViewQtDelegateQuick::event(QEvent *event) { if (event->type() == QEvent::ShortcutOverride) { - if (editorActionForKeyEvent(static_cast<QKeyEvent*>(event)) != QQuickWebEngineView::NoWebAction) { - event->accept(); + QKeyEvent *keyEvent = static_cast<QKeyEvent *>(event); + if (m_client->handleShortcutOverrideEvent(keyEvent)) return true; - } + if (editorActionForKeyEvent(keyEvent) != QQuickWebEngineView::NoWebAction) + event->accept(); + return true; } if (event->type() == QEvent::NativeGesture) |