id: userMoreButtonMouseArea\r
anchors.fill: parent\r
hoverEnabled: true\r
- onClicked:\r
- {\r
- userMoreButtonMenu.popup()\r
+ onClicked: {\r
+ if (userMoreButtonMenu.visible) {\r
+ userMoreButtonMenu.close()\r
+ } else {\r
+ userMoreButtonMenu.popup()\r
+ }\r
}\r
}\r
background:\r
Menu {\r
id: userMoreButtonMenu\r
width: 120\r
+ closePolicy: Menu.CloseOnPressOutsideParent | Menu.CloseOnEscape\r
\r
background: Rectangle {\r
border.color: Style.menuBorder\r
// exactly below the dropdown button, not the mouse\r
onClicked: {\r
syncPauseButton.text = Systray.syncIsPaused() ? qsTr("Resume sync for all") : qsTr("Pause sync for all")\r
- accountMenu.open()\r
+ if (accountMenu.visible) {\r
+ accountMenu.close()\r
+ } else {\r
+ accountMenu.open()\r
+ }\r
}\r
\r
Menu {\r
\r
width: (Style.currentAccountButtonWidth - 2)\r
height: Math.min(implicitHeight, maxMenuHeight)\r
- closePolicy: "CloseOnPressOutside"\r
+ closePolicy: Menu.CloseOnPressOutsideParent | Menu.CloseOnEscape\r
\r
background: Rectangle {\r
border.color: Style.menuBorder\r
id: trayWindowAppsButton\r
icon.source: "qrc:///client/theme/white/more-apps.svg"\r
onClicked: {\r
- if(appsMenu.count > 0) {\r
- appsMenu.open()\r
- } else {\r
+ if(appsMenu.count <= 0) {\r
UserModel.openCurrentAccountServer()\r
+ } else if (appsMenu.visible) {\r
+ appsMenu.close()\r
+ } else {\r
+ appsMenu.open()\r
}\r
}\r
\r
readonly property Item listContentItem: contentItem.contentItem\r
width: Math.min(listContentItem.childrenRect.width + 4, Style.trayWindowWidth / 2)\r
height: Math.min(implicitHeight, maxMenuHeight)\r
- closePolicy: "CloseOnPressOutside"\r
+ closePolicy: Menu.CloseOnPressOutsideParent | Menu.CloseOnEscape\r
\r
background: Rectangle {\r
border.color: Style.menuBorder\r