aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--src/quicktemplates2/qquickmenu.cpp13
1 files changed, 3 insertions, 10 deletions
diff --git a/src/quicktemplates2/qquickmenu.cpp b/src/quicktemplates2/qquickmenu.cpp
index 634528c1..c87573a1 100644
--- a/src/quicktemplates2/qquickmenu.cpp
+++ b/src/quicktemplates2/qquickmenu.cpp
@@ -449,10 +449,6 @@ void QQuickMenuPrivate::openSubMenu(QQuickMenuItem *item, bool activate)
subMenu->setCascade(cascade);
subMenu->open();
- // transfer focus to the sub-menu
- if (focus)
- subMenu->popupItem()->setFocus(true);
-
if (!subMenu->cascade())
q->close();
}
@@ -462,13 +458,10 @@ void QQuickMenuPrivate::closeSubMenu(QQuickMenu *subMenu)
if (!subMenu || !subMenu->isVisible())
return;
- // transfer focus back to the parent menu
+ // re-open the parent menu of a cascading sub-menu
QQuickMenu *parentMenu = QQuickMenuPrivate::get(subMenu)->parentMenu;
- if (parentMenu && parentMenu->hasFocus()) {
- parentMenu->popupItem()->setFocus(true);
- if (!subMenu->cascade())
- parentMenu->open();
- }
+ if (parentMenu && !subMenu->cascade())
+ parentMenu->open();
// close the whole chain of sub-menus
while (subMenu) {