diff options
Diffstat (limited to 'src/controls/Private/MenuContentItem.qml')
-rw-r--r-- | src/controls/Private/MenuContentItem.qml | 13 |
1 files changed, 9 insertions, 4 deletions
diff --git a/src/controls/Private/MenuContentItem.qml b/src/controls/Private/MenuContentItem.qml index d926ff75..1633a81f 100644 --- a/src/controls/Private/MenuContentItem.qml +++ b/src/controls/Private/MenuContentItem.qml @@ -45,7 +45,7 @@ import QtQuick.Controls.Styles 1.1 Loader { id: menuFrameLoader - property var __menu: root + property var __menu visible: status === Loader.Ready width: content.width + (d.style ? d.style.padding.left + d.style.padding.right : 0) @@ -89,6 +89,7 @@ Loader { __menu.__dismissMenu() if (item.styleData.type !== MenuItemType.Menu) item.__menuItem.trigger() + __menu.__destroyAllMenuPopups() } } } @@ -132,8 +133,10 @@ Loader { } Keys.onLeftPressed: { - if ((event.accepted = __menu.__parentMenu.hasOwnProperty("title"))) - __closeMenu() + if ((event.accepted = __menu.__parentMenu.hasOwnProperty("title"))) { + __menu.__closeMenu() + __menu.__destroyMenuPopup() + } } Keys.onRightPressed: { @@ -231,8 +234,10 @@ Loader { id: closeMenuTimer interval: 1 onTriggered: { - if (__menu.__currentIndex !== __menuItemIndex) + if (__menu.__currentIndex !== __menuItemIndex) { __menuItem.__closeMenu() + __menuItem.__destroyMenuPopup() + } } } |