migrate to widgets

This commit is contained in:
Benjamin Palko 2025-07-30 21:49:38 -04:00
parent 3d34780820
commit 871e654af2
2 changed files with 10 additions and 14 deletions

View file

@ -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
}
}
}

View file

@ -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
}
}
}