diff options
author | Marco Martin <notmart@gmail.com> | 2017-11-16 14:53:35 +0100 |
---|---|---|
committer | Kai Uwe Broulik <kde@privat.broulik.de> | 2017-11-22 11:06:24 +0000 |
commit | ecda8f1ced1400ca399deafba04d1f7a6c55be62 (patch) | |
tree | cab32cfae79b0448f9c79251b04bd6b7fa43a01f /src | |
parent | a0559ea88be32e19e83b2131cb26e61e873dc817 (diff) |
watch for the actual render window if there is a QQuickRenderControl
if the scene is rendered by a QQuickRenderControl and we have a different
target window (for instance QQuickWidget) we check the target window of
the render control instead of the own window, this fixes window keyboard
shortcuts for QQuickWidget
Task-number: QTBUG-64548
Change-Id: I7614be580f2a707c752189e4c9b53a5d5f0159d7
Reviewed-by: J-P Nurmi <jpnurmi@qt.io>
Diffstat (limited to 'src')
-rw-r--r-- | src/quicktemplates2/qquickshortcutcontext.cpp | 3 |
1 files changed, 3 insertions, 0 deletions
diff --git a/src/quicktemplates2/qquickshortcutcontext.cpp b/src/quicktemplates2/qquickshortcutcontext.cpp index 6553beb4..92e4c04a 100644 --- a/src/quicktemplates2/qquickshortcutcontext.cpp +++ b/src/quicktemplates2/qquickshortcutcontext.cpp @@ -40,6 +40,7 @@ #include "qquickpopup_p.h" #include <QtGui/qguiapplication.h> +#include <QtQuick/qquickrendercontrol.h> QT_BEGIN_NAMESPACE @@ -77,6 +78,8 @@ bool QQuickShortcutContext::matcher(QObject *obj, Qt::ShortcutContext context) item = popup->popupItem(); } } + if (QWindow *renderWindow = QQuickRenderControl::renderWindowFor(qobject_cast<QQuickWindow *>(obj))) + obj = renderWindow; return obj && obj == QGuiApplication::focusWindow() && !isBlockedByPopup(item); default: return false; |