diff --git a/resources.qrc b/resources.qrc
index 54c4b5cd98..9fa393c4ef 100644
--- a/resources.qrc
+++ b/resources.qrc
@@ -7,5 +7,6 @@
theme/Style/qmldir
src/gui/tray/ActivityActionButton.qml
src/gui/tray/ActivityItem.qml
+ src/gui/tray/AutoSizingMenu.qml
diff --git a/src/gui/tray/AutoSizingMenu.qml b/src/gui/tray/AutoSizingMenu.qml
new file mode 100644
index 0000000000..fe929eb3c1
--- /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 1e0d8436bf..ccb4af74e8 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()