functional tray

This commit is contained in:
Benjamin Palko 2025-07-22 22:56:33 -04:00
parent 0d9392b744
commit 8ac31838d5
6 changed files with 96 additions and 49 deletions

View file

@ -1,23 +1,29 @@
import QtQuick
import QtQuick.Layouts
import Quickshell
import "../../../../../config/"
import "../../../../../styled/"
ColumnLayout {
property QsMenuOpener menu
id: menu
property QsMenuOpener menuOpener
anchors.margins: 8
Repeater {
model: modelData.children
Loader {
id: loader
model: menuOpener.children
delegate: Loader {
required property QsMenuEntry modelData
active: true
active: modelData.enabled
sourceComponent: menuItem
sourceComponent: modelData.isSeparator ? menuSeperator : menuItem
property Component menuSeperator: Rectangle {
implicitHeight: 1
implicitWidth: menu.width
color: Theme.palette.basecontent
}
property Component menuItem: MenuItem {
menuEntry: loader.modelData
menuEntry: modelData
}
}
}

View file

@ -1,6 +1,7 @@
import QtQuick
import QtQuick.Layouts
import Quickshell
import "../../../../../config/"
import "../../../../../styled/"
Clickable {
@ -8,11 +9,20 @@ Clickable {
property QsMenuEntry menuEntry
implicitWidth: text.width
implicitHeight: 30
Text {
onClicked: menuEntry.triggered()
StyledText {
id: text
text: item.menuEntry.text
padding: 8
font.pixelSize: Dimensions.clock.fontSize
anchors.verticalCenter: parent.verticalCenter
topPadding: Dimensions.clock.verticalPadding
bottomPadding: Dimensions.clock.verticalPadding
leftPadding: Dimensions.clock.horizontalPadding
rightPadding: Dimensions.clock.horizontalPadding
text: item.menuEntry.text
}
}