diff options
author | Kevin Ottens <kevin.ottens@nextcloud.com> | 2020-09-14 19:03:57 +0300 |
---|---|---|
committer | Kevin Ottens (Rebase PR Action) <er-vin@users.noreply.github.com> | 2020-09-15 11:46:10 +0300 |
commit | 6ee37b59750e70470080430cea5edebe5b153367 (patch) | |
tree | 713290ed10d946d3d5ca6b9f04bf207cc30ee40a /src/gui/tray | |
parent | f7efe6a902004ebfe4526aa985591006daf71c06 (diff) |
Make sure menu are closed when button is clicked again
This way we also made sure all the Menu are currently on the same close
policy.
Signed-off-by: Kevin Ottens <kevin.ottens@nextcloud.com>
Diffstat (limited to 'src/gui/tray')
-rw-r--r-- | src/gui/tray/UserLine.qml | 10 | ||||
-rw-r--r-- | src/gui/tray/Window.qml | 18 |
2 files changed, 19 insertions, 9 deletions
diff --git a/src/gui/tray/UserLine.qml b/src/gui/tray/UserLine.qml index 125819b3e..e0171beea 100644 --- a/src/gui/tray/UserLine.qml +++ b/src/gui/tray/UserLine.qml @@ -123,9 +123,12 @@ MenuItem { id: userMoreButtonMouseArea
anchors.fill: parent
hoverEnabled: true
- onClicked:
- {
- userMoreButtonMenu.popup()
+ onClicked: {
+ if (userMoreButtonMenu.visible) {
+ userMoreButtonMenu.close()
+ } else {
+ userMoreButtonMenu.popup()
+ }
}
}
background:
@@ -139,6 +142,7 @@ MenuItem { Menu {
id: userMoreButtonMenu
width: 120
+ closePolicy: Menu.CloseOnPressOutsideParent | Menu.CloseOnEscape
background: Rectangle {
border.color: Style.menuBorder
diff --git a/src/gui/tray/Window.qml b/src/gui/tray/Window.qml index b0a324645..4295381b0 100644 --- a/src/gui/tray/Window.qml +++ b/src/gui/tray/Window.qml @@ -147,7 +147,11 @@ Window { // exactly below the dropdown button, not the mouse
onClicked: {
syncPauseButton.text = Systray.syncIsPaused() ? qsTr("Resume sync for all") : qsTr("Pause sync for all")
- accountMenu.open()
+ if (accountMenu.visible) {
+ accountMenu.close()
+ } else {
+ accountMenu.open()
+ }
}
Menu {
@@ -160,7 +164,7 @@ Window { width: (Style.currentAccountButtonWidth - 2)
height: Math.min(implicitHeight, maxMenuHeight)
- closePolicy: "CloseOnPressOutside"
+ closePolicy: Menu.CloseOnPressOutsideParent | Menu.CloseOnEscape
background: Rectangle {
border.color: Style.menuBorder
@@ -387,10 +391,12 @@ Window { id: trayWindowAppsButton
icon.source: "qrc:///client/theme/white/more-apps.svg"
onClicked: {
- if(appsMenu.count > 0) {
- appsMenu.open()
- } else {
+ if(appsMenu.count <= 0) {
UserModel.openCurrentAccountServer()
+ } else if (appsMenu.visible) {
+ appsMenu.close()
+ } else {
+ appsMenu.open()
}
}
@@ -400,7 +406,7 @@ Window { readonly property Item listContentItem: contentItem.contentItem
width: Math.min(listContentItem.childrenRect.width + 4, Style.trayWindowWidth / 2)
height: Math.min(implicitHeight, maxMenuHeight)
- closePolicy: "CloseOnPressOutside"
+ closePolicy: Menu.CloseOnPressOutsideParent | Menu.CloseOnEscape
background: Rectangle {
border.color: Style.menuBorder
|