Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/nextcloud/desktop.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorFelix Weilbach <felix.weilbach@nextcloud.com>2021-08-21 01:26:48 +0300
committerFelix Weilbach (Rebase PR Action) <felix.weilbach@t-online.de>2021-09-03 14:48:42 +0300
commitfa37f5c2bc4ef025f370027ee2958a7fc0093fdf (patch)
tree1f370e1f771de5dde64f070dac53f929a6f11c69
parent8a2097e7b9689048085f89375f20b5f549f10991 (diff)
Don't create binding loop
Signed-off-by: Felix Weilbach <felix.weilbach@nextcloud.com>
-rw-r--r--resources.qrc1
-rw-r--r--src/gui/tray/AutoSizingMenu.qml15
-rw-r--r--src/gui/tray/Window.qml19
3 files changed, 17 insertions, 18 deletions
diff --git a/resources.qrc b/resources.qrc
index 54c4b5cd9..9fa393c4e 100644
--- a/resources.qrc
+++ b/resources.qrc
@@ -7,5 +7,6 @@
<file>theme/Style/qmldir</file>
<file>src/gui/tray/ActivityActionButton.qml</file>
<file>src/gui/tray/ActivityItem.qml</file>
+ <file>src/gui/tray/AutoSizingMenu.qml</file>
</qresource>
</RCC>
diff --git a/src/gui/tray/AutoSizingMenu.qml b/src/gui/tray/AutoSizingMenu.qml
new file mode 100644
index 000000000..fe929eb3c
--- /dev/null
+++ b/src/gui/tray/AutoSizingMenu.qml
@@ -0,0 +1,15 @@
+import QtQuick 2.15
+import QtQuick.Controls 2.3
+
+Menu {
+ width: {
+ var result = 0;
+ var padding = 0;
+ for (var i = 0; i < count; ++i) {
+ var item = itemAt(i);
+ result = Math.max(item.contentItem.implicitWidth, result);
+ padding = Math.max(item.padding, padding);
+ }
+ return result + padding * 2;
+ }
+}
diff --git a/src/gui/tray/Window.qml b/src/gui/tray/Window.qml
index 1e0d8436b..ccb4af74e 100644
--- a/src/gui/tray/Window.qml
+++ b/src/gui/tray/Window.qml
@@ -508,12 +508,10 @@ Window {
Accessible.name: qsTr("More apps")
Accessible.onPressAction: trayWindowAppsButton.clicked()
- Menu {
+ AutoSizingMenu {
id: appsMenu
y: (trayWindowAppsButton.y + trayWindowAppsButton.height + 2)
readonly property Item listContentItem: contentItem.contentItem
- width: Math.min(listContentItem.childrenRect.width + 4, Style.trayWindowWidth / 2)
- height: Math.min(implicitHeight, maxMenuHeight)
closePolicy: Menu.CloseOnPressOutsideParent | Menu.CloseOnEscape
background: Rectangle {
@@ -531,24 +529,9 @@ Window {
text: appName
font.pixelSize: Style.topLinePixelSize
icon.source: appIconUrl
- width: contentItem.implicitWidth + leftPadding + rightPadding
onTriggered: UserAppsModel.openAppUrl(appUrl)
hoverEnabled: true
- background: Item {
- width: appsMenu.width
- height: parent.height
-
- Rectangle {
- anchors.fill: parent
- anchors.margins: 1
- color: appEntry.hovered ? Style.lightHover : "transparent"
- }
-
- Accessible.role: Accessible.PopupMenu
- Accessible.name: qsTr("Apps menu")
- }
-
Accessible.role: Accessible.MenuItem
Accessible.name: qsTr("Open %1 in browser").arg(appName)
Accessible.onPressAction: appEntry.triggered()