diff --git a/modules/bar/components/tray/TrayItem.qml b/modules/bar/components/tray/TrayItem.qml index 055171f..e09977d 100644 --- a/modules/bar/components/tray/TrayItem.qml +++ b/modules/bar/components/tray/TrayItem.qml @@ -1,41 +1,36 @@ +pragma ComponentBehavior: Bound + +import qs.widgets import QtQuick -import QtQuick.Layouts import Quickshell import Quickshell.Services.SystemTray import Quickshell.Widgets -import "../../../../config/" -import "../../../../styled/" import "menu/" -Clickable { +StyledButton { id: root property SystemTrayItem trayItem property bool menuOpened: false - implicitWidth: Dimensions.tray.width - implicitHeight: Dimensions.tray.height - onClicked: toggleMenu() function toggleMenu() { menuOpened = !menuOpened; } - IconImage { + content: IconImage { id: icon - anchors.margins: 6 - anchors.fill: parent asynchronous: true + implicitSize: 18 source: { - let icon = modelData.icon; + let icon = root.trayItem.icon; if (icon.includes("?path=")) { const [name, path] = icon.split("?path="); icon = `file://${path}/${name.slice(name.lastIndexOf("/") + 1)}`; } return icon; } - anchors.centerIn: parent } Menu { @@ -48,7 +43,7 @@ Clickable { anchor.rect.y: root.height + 8 menuOpener: QsMenuOpener { - menu: trayItem.menu + menu: root.trayItem.menu } } } diff --git a/modules/bar/components/tray/menu/Menu.qml b/modules/bar/components/tray/menu/Menu.qml index 4d49037..5b57904 100644 --- a/modules/bar/components/tray/menu/Menu.qml +++ b/modules/bar/components/tray/menu/Menu.qml @@ -20,6 +20,7 @@ StyledPopupWindow { Repeater { model: window.menuOpener.children delegate: Loader { + id: loader required property QsMenuEntry modelData active: true @@ -34,7 +35,7 @@ StyledPopupWindow { color: Theme.palette.base100 } property Component menuItem: MenuItem { - menuEntry: modelData + menuEntry: loader.modelData } } }