aboutsummaryrefslogtreecommitdiffstats
path: root/src/quicktemplates2/qquickmenu.cpp
diff options
context:
space:
mode:
authorJ-P Nurmi <jpnurmi@qt.io>2017-07-12 15:32:51 +0200
committerJ-P Nurmi <jpnurmi@qt.io>2017-07-13 11:00:06 +0000
commit444ddd9b662ab00e21cc56174ed0670109a2d3af (patch)
treed43130e004158233cb44f9592f3dc27b3914d770 /src/quicktemplates2/qquickmenu.cpp
parent01dbd3a8ed6187ec9a7ff2bb61031c3291b24d97 (diff)
QQuickMenu: close non-cascading parent menu from prepareEnterTransition()
Change-Id: I075241c07702d1e8bbc89c43cef35525d9e67cc7 Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>
Diffstat (limited to 'src/quicktemplates2/qquickmenu.cpp')
-rw-r--r--src/quicktemplates2/qquickmenu.cpp7
1 files changed, 3 insertions, 4 deletions
diff --git a/src/quicktemplates2/qquickmenu.cpp b/src/quicktemplates2/qquickmenu.cpp
index 77327e55..6abaaf36 100644
--- a/src/quicktemplates2/qquickmenu.cpp
+++ b/src/quicktemplates2/qquickmenu.cpp
@@ -379,6 +379,9 @@ void QQuickMenuPrivate::reposition()
bool QQuickMenuPrivate::prepareEnterTransition()
{
Q_Q(QQuickMenu);
+ if (parentMenu && !cascade)
+ parentMenu->close();
+
// If a cascading sub-menu doesn't have enough space to open on
// the right, it flips on the other side of the parent menu.
allowHorizontalFlip = cascade && parentMenu;
@@ -471,14 +474,10 @@ void QQuickMenuPrivate::onItemActiveFocusChanged()
void QQuickMenuPrivate::openSubMenu(QQuickMenuItem *item, bool activate)
{
- Q_Q(QQuickMenu);
QQuickMenu *subMenu = item ? item->subMenu() : nullptr;
if (!subMenu)
return;
- if (!cascade)
- q->close();
-
if (activate)
QQuickMenuPrivate::get(subMenu)->setCurrentIndex(0, Qt::PopupFocusReason);
subMenu->open();