Files
z-bar-qt/popout-test/modules/Popout.qml
T
2025-10-24 02:15:37 +02:00

51 lines
1.4 KiB
QML

pragma ComponentBehavior: Bound
import Quickshell
import QtQuick
import QtQuick.Layouts
PopupWindow {
id: root
required property QsMenuHandle menu
property int height: menuOpener.children.values.length * entryHeight
property int entryHeight: 25
implicitWidth: 300
implicitHeight: height
QsMenuOpener {
id: menuOpener
menu: root.menu
}
ColumnLayout {
anchors.fill: parent
spacing: 0
Repeater {
model: menuOpener.children
Rectangle {
id: menuItem
width: root.implicitWidth
height: modelData.isSeparator ? 5 : root.entryHeight
color: mouseArea.containsMouse ? "#22000000" : "transparent"
required property QsMenuEntry modelData
MouseArea {
id: mouseArea
anchors.fill: parent
hoverEnabled: true
acceptedButtons: Qt.LeftButton
onClicked: {
menuItem.modelData.triggered();
root.visible = false;
}
Text {
anchors.verticalCenter: parent.verticalCenter
anchors.left: parent.left
anchors.leftMargin: 10
text: menuItem.modelData.text
}
}
}
}
}
}