mirror of
https://github.com/AvengeMedia/DankMaterialShell.git
synced 2025-12-05 21:15:38 -05:00
96 lines
3.3 KiB
QML
96 lines
3.3 KiB
QML
import QtQuick
|
|
import QtQuick.Layouts
|
|
import Quickshell
|
|
import qs.Common
|
|
import qs.Widgets
|
|
import qs.Modules.Plugins
|
|
|
|
PluginComponent {
|
|
id: root
|
|
|
|
property var popoutService: null
|
|
|
|
property string selectedPopout: pluginData.selectedPopout || "controlCenter"
|
|
|
|
property var popoutActions: ({
|
|
"controlCenter": (x, y, w, s, scr) => popoutService?.toggleControlCenter(x, y, w, s, scr),
|
|
"notificationCenter": (x, y, w, s, scr) => popoutService?.toggleNotificationCenter(x, y, w, s, scr),
|
|
"appDrawer": (x, y, w, s, scr) => popoutService?.toggleAppDrawer(x, y, w, s, scr),
|
|
"processList": (x, y, w, s, scr) => popoutService?.toggleProcessList(x, y, w, s, scr),
|
|
"dankDash": (x, y, w, s, scr) => popoutService?.toggleDankDash(0, x, y, w, s, scr),
|
|
"battery": (x, y, w, s, scr) => popoutService?.toggleBattery(x, y, w, s, scr),
|
|
"vpn": (x, y, w, s, scr) => popoutService?.toggleVpn(x, y, w, s, scr),
|
|
"systemUpdate": (x, y, w, s, scr) => popoutService?.toggleSystemUpdate(x, y, w, s, scr),
|
|
"settings": () => popoutService?.openSettings(),
|
|
"clipboardHistory": () => popoutService?.openClipboardHistory(),
|
|
"spotlight": () => popoutService?.openSpotlight(),
|
|
"powerMenu": () => popoutService?.togglePowerMenu(),
|
|
"colorPicker": () => popoutService?.showColorPicker(),
|
|
"notepad": () => popoutService?.toggleNotepad()
|
|
})
|
|
|
|
property var popoutNames: ({
|
|
"controlCenter": "Control Center",
|
|
"notificationCenter": "Notification Center",
|
|
"appDrawer": "App Drawer",
|
|
"processList": "Process List",
|
|
"dankDash": "DankDash",
|
|
"battery": "Battery Info",
|
|
"vpn": "VPN",
|
|
"systemUpdate": "System Update",
|
|
"settings": "Settings",
|
|
"clipboardHistory": "Clipboard",
|
|
"spotlight": "Spotlight",
|
|
"powerMenu": "Power Menu",
|
|
"colorPicker": "Color Picker",
|
|
"notepad": "Notepad"
|
|
})
|
|
|
|
pillClickAction: (x, y, width, section, screen) => {
|
|
if (popoutActions[selectedPopout]) {
|
|
popoutActions[selectedPopout](x, y, width, section, screen)
|
|
}
|
|
}
|
|
|
|
horizontalBarPill: Component {
|
|
Row {
|
|
spacing: Theme.spacingXS
|
|
|
|
DankIcon {
|
|
name: "widgets"
|
|
color: Theme.primary
|
|
font.pixelSize: Theme.iconSize - 6
|
|
anchors.verticalCenter: parent.verticalCenter
|
|
}
|
|
|
|
StyledText {
|
|
text: popoutNames[selectedPopout] || "Popouts"
|
|
color: Theme.primary
|
|
font.pixelSize: Theme.fontSizeMedium
|
|
anchors.verticalCenter: parent.verticalCenter
|
|
}
|
|
}
|
|
}
|
|
|
|
verticalBarPill: Component {
|
|
Column {
|
|
spacing: Theme.spacingXS
|
|
|
|
DankIcon {
|
|
name: "widgets"
|
|
color: Theme.primary
|
|
font.pixelSize: Theme.iconSize - 6
|
|
anchors.horizontalCenter: parent.horizontalCenter
|
|
}
|
|
|
|
StyledText {
|
|
text: popoutNames[selectedPopout] || "Popouts"
|
|
color: Theme.primary
|
|
font.pixelSize: Theme.fontSizeSmall
|
|
anchors.horizontalCenter: parent.horizontalCenter
|
|
horizontalAlignment: Text.AlignHCenter
|
|
}
|
|
}
|
|
}
|
|
}
|