summaryrefslogtreecommitdiffstats
path: root/src/webengine
diff options
context:
space:
mode:
authorJoerg Bornemann <joerg.bornemann@qt.io>2017-04-10 13:47:20 +0200
committerJoerg Bornemann <joerg.bornemann@qt.io>2017-04-25 18:18:30 +0000
commit3902b27ee40400db6cf596ca0db31b6497f0421b (patch)
tree774bb6e244482dd308b7488e91cfdba4a3eee665 /src/webengine
parent3e7aab785a22e0bdf96d22e2ed03689c37554baa (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.cpp8
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)