refactor(StatusPopupMenu): Refactor bug with reopen menu

This commit is contained in:
B.Melnik 2021-09-08 05:20:06 +03:00 committed by Michał Cieślak
parent 12f6791d0c
commit d8d5048622
2 changed files with 8 additions and 17 deletions

View File

@ -93,20 +93,9 @@ Rectangle {
property bool showMoreMenu: false property bool showMoreMenu: false
onClicked: { onClicked: {
if (!showMoreMenu) {
popupMenuSlot.item.popup(-popupMenuSlot.item.width + menuButton.width, menuButton.height + 4) popupMenuSlot.item.popup(-popupMenuSlot.item.width + menuButton.width, menuButton.height + 4)
statusChatToolBar.menuButtonClicked() statusChatToolBar.menuButtonClicked()
} }
}
Timer {
id: menuClosedUpdater
interval: 100
repeat: false
onTriggered: {
menuButton.showMoreMenu = false
}
}
Loader { Loader {
id: popupMenuSlot id: popupMenuSlot
@ -114,12 +103,10 @@ Rectangle {
onLoaded: { onLoaded: {
popupMenuSlot.item.closeHandler = function () { popupMenuSlot.item.closeHandler = function () {
menuButton.highlighted = false menuButton.highlighted = false
menuClosedUpdater.start()
} }
popupMenuSlot.item.openHandler = function () { popupMenuSlot.item.openHandler = function () {
menuButton.highlighted = true menuButton.highlighted = true
menuButton.showMoreMenu = true
} }
} }
} }

View File

@ -20,6 +20,10 @@ Menu {
property var openHandler property var openHandler
property var closeHandler property var closeHandler
dim: true
Overlay.modeless: MouseArea {}
signal menuItemClicked(int menuIndex) signal menuItemClicked(int menuIndex)
onOpened: { onOpened: {