summaryrefslogtreecommitdiffstats
path: root/src/webengine/render_widget_host_view_qt_delegate_quick.cpp
diff options
context:
space:
mode:
authorAllan Sandfeld Jensen <allan.jensen@theqtcompany.com>2016-06-20 17:14:35 +0200
committerAllan Sandfeld Jensen <allan.jensen@qt.io>2016-06-22 13:53:40 +0000
commite0bd650cb7f8c8fd3014541b4c49104906e0e139 (patch)
tree76b7ed34eb9dd5e1b60698c0851b64414f182c4b /src/webengine/render_widget_host_view_qt_delegate_quick.cpp
parent7494836e3a1e61a000fa0f73f91665fa291ec287 (diff)
Override short-cuts to common editor commands
To ensure Chromium is given a chance to handle editor commands, we must override these short-cuts. On OS X we must also perform the action afterwards as these are not handled internally by the Blink Editor. The patch solves copy/paste in flash plugins and copy/paste on OS X when no application short-cuts have been defined. The handling of short-cut override events is based on how it was handled in Qt WebKit Task-number: QTBUG-54221 Change-Id: I748671c7bfa5662aae16c6a4b9bbe5e2bce1b907 Reviewed-by: Alexandru Croitor <alexandru.croitor@theqtcompany.com>
Diffstat (limited to 'src/webengine/render_widget_host_view_qt_delegate_quick.cpp')
-rw-r--r--src/webengine/render_widget_host_view_qt_delegate_quick.cpp12
1 files changed, 12 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 cd8fc54b9..b10ca8bdb 100644
--- a/src/webengine/render_widget_host_view_qt_delegate_quick.cpp
+++ b/src/webengine/render_widget_host_view_qt_delegate_quick.cpp
@@ -207,6 +207,18 @@ 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();
+ return true;
+ }
+ }
+
+ return QQuickItem::event(event);
+}
+
void RenderWidgetHostViewQtDelegateQuick::focusInEvent(QFocusEvent *event)
{
m_client->forwardEvent(event);