aboutsummaryrefslogtreecommitdiffstats
path: root/src/quicktemplates2/qquickpopup.cpp
diff options
context:
space:
mode:
authorWang Chuan <ouchuanm@outlook.com>2019-10-28 16:53:02 +0800
committerWang Chuan <ouchuanm@outlook.com>2019-10-29 20:22:03 +0800
commit21e3c3eff23c34f9e4b85794e336380d9f6815f6 (patch)
tree47409da1535d070b2926efeab3ccd6b131154eff /src/quicktemplates2/qquickpopup.cpp
parent6adad6d903cb38fbfed6573e3a9be589b469b716 (diff)
QQuickPopup: try to grab shortcut when component completed
If closePolicy of Popup is set to CloseOnEscape and the Popup is completed, shortcut will register to QGuiApplication to let Popup respond to Escape key. However if Popup is set to visible in creation, even if we set closePolicy to CloseOnEscape, the shortcut won't be registered. [ChangeLog][Controls][QQuickPopup] Fixed the issue that Popup doesn't respond to CloseOnEscape if the initial value of visible is true Fixes: QTBUG-79326 Change-Id: I90c6805e2b4d567a6e0d33d43a75fedcfc5416b3 Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>
Diffstat (limited to 'src/quicktemplates2/qquickpopup.cpp')
-rw-r--r--src/quicktemplates2/qquickpopup.cpp7
1 files changed, 7 insertions, 0 deletions
diff --git a/src/quicktemplates2/qquickpopup.cpp b/src/quicktemplates2/qquickpopup.cpp
index f0cf1869..f272c5cf 100644
--- a/src/quicktemplates2/qquickpopup.cpp
+++ b/src/quicktemplates2/qquickpopup.cpp
@@ -2409,6 +2409,13 @@ void QQuickPopup::componentComplete()
d->complete = true;
d->popupItem->componentComplete();
+
+ if (isVisible()) {
+ if (d->closePolicy & QQuickPopup::CloseOnEscape)
+ d->popupItem->grabShortcut();
+ else
+ d->popupItem->ungrabShortcut();
+ }
}
bool QQuickPopup::isComponentComplete() const