diff options
author | J-P Nurmi <jpnurmi@qt.io> | 2017-07-12 15:32:51 +0200 |
---|---|---|
committer | J-P Nurmi <jpnurmi@qt.io> | 2017-07-13 11:00:06 +0000 |
commit | 444ddd9b662ab00e21cc56174ed0670109a2d3af (patch) | |
tree | d43130e004158233cb44f9592f3dc27b3914d770 /src/quicktemplates2/qquickmenu.cpp | |
parent | 01dbd3a8ed6187ec9a7ff2bb61031c3291b24d97 (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.cpp | 7 |
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(); |