31 lines
747 B
QML
31 lines
747 B
QML
|
|
import QtQuick
|
||
|
|
import Quickshell
|
||
|
|
import Quickshell.Services.SystemTray
|
||
|
|
import Quickshell.Widgets
|
||
|
|
import qs
|
||
|
|
|
||
|
|
MouseArea {
|
||
|
|
id: root
|
||
|
|
required property SystemTrayItem modelData
|
||
|
|
implicitWidth: trayIcon.implicitWidth
|
||
|
|
implicitHeight: trayIcon.implicitHeight
|
||
|
|
acceptedButtons: Qt.LeftButton | Qt.RightButton
|
||
|
|
IconImage {
|
||
|
|
id: trayIcon
|
||
|
|
implicitSize: 16
|
||
|
|
source: parent.modelData.icon
|
||
|
|
}
|
||
|
|
QsMenuAnchor {
|
||
|
|
id: menu
|
||
|
|
menu: root.modelData.hasMenu ? root.modelData.menu : null
|
||
|
|
anchor.item: root
|
||
|
|
}
|
||
|
|
onClicked: event => {
|
||
|
|
if (event.button === Qt.LeftButton) {
|
||
|
|
modelData.activate();
|
||
|
|
} else if (modelData.hasMenu) {
|
||
|
|
menu.open();
|
||
|
|
}
|
||
|
|
}
|
||
|
|
}
|