diff options
-rw-r--r-- | resources.qrc | 1 | ||||
-rw-r--r-- | src/gui/tray/AutoSizingMenu.qml | 15 | ||||
-rw-r--r-- | src/gui/tray/Window.qml | 19 |
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()
|