diff options
| author | Nippy <nippy@rp1.hu> | 2026-05-09 13:33:09 +0200 |
|---|---|---|
| committer | Nippy <nippy@rp1.hu> | 2026-05-09 13:33:09 +0200 |
| commit | a2b924d7e9492b978ad6dc33b6c1ffcb304b4bc5 (patch) | |
| tree | 1a8769217f84bfe9d6216fafaadaf8cdd876d457 /raveos-hyprland-theme/theme-data/DankMaterialShell/quickshell/Modules/Plugins/PluginComponent.qml | |
| parent | 34b9c34f982b2596cfa9e368a2d7f74e9a17477c (diff) | |
| download | RaveOS-PKGBUILD-a2b924d7e9492b978ad6dc33b6c1ffcb304b4bc5.tar.gz RaveOS-PKGBUILD-a2b924d7e9492b978ad6dc33b6c1ffcb304b4bc5.zip | |
raveos update
Diffstat (limited to 'raveos-hyprland-theme/theme-data/DankMaterialShell/quickshell/Modules/Plugins/PluginComponent.qml')
| -rw-r--r-- | raveos-hyprland-theme/theme-data/DankMaterialShell/quickshell/Modules/Plugins/PluginComponent.qml | 333 |
1 files changed, 0 insertions, 333 deletions
diff --git a/raveos-hyprland-theme/theme-data/DankMaterialShell/quickshell/Modules/Plugins/PluginComponent.qml b/raveos-hyprland-theme/theme-data/DankMaterialShell/quickshell/Modules/Plugins/PluginComponent.qml deleted file mode 100644 index 85dd32d..0000000 --- a/raveos-hyprland-theme/theme-data/DankMaterialShell/quickshell/Modules/Plugins/PluginComponent.qml +++ /dev/null @@ -1,333 +0,0 @@ -import QtQuick -import Quickshell.Io -import qs.Common - -Item { - id: root - - property string layerNamespacePlugin: "plugin" - - property var axis: null - property string section: "center" - property var parentScreen: null - property real widgetThickness: 30 - property real barThickness: 48 - property real barSpacing: 4 - property var barConfig: null - property var blurBarWindow: null - property string pluginId: "" - property var pluginService: null - - property string visibilityCommand: "" - property int visibilityInterval: 0 - property bool conditionVisible: true - property bool _visibilityOverride: false - property bool _visibilityOverrideValue: true - - readonly property bool effectiveVisible: { - if (_visibilityOverride) - return _visibilityOverrideValue; - if (!visibilityCommand) - return true; - return conditionVisible; - } - - property Component horizontalBarPill: null - property Component verticalBarPill: null - property Component popoutContent: null - property real popoutWidth: 400 - property real popoutHeight: 0 - property var pillClickAction: null - property var pillRightClickAction: null - - property Component controlCenterWidget: null - property string ccWidgetIcon: "" - property string ccWidgetPrimaryText: "" - property string ccWidgetSecondaryText: "" - property bool ccWidgetIsActive: false - property bool ccWidgetIsToggle: true - property Component ccDetailContent: null - property real ccDetailHeight: 250 - - signal ccWidgetToggled - signal ccWidgetExpanded - - property var pluginData: ({}) - property var variants: [] - - readonly property bool isVertical: axis?.isVertical ?? false - readonly property bool hasHorizontalPill: horizontalBarPill !== null - readonly property bool hasVerticalPill: verticalBarPill !== null - readonly property bool hasPopout: popoutContent !== null - - readonly property int iconSize: Theme.barIconSize(barThickness, -4, root.barConfig?.maximizeWidgetIcons, root.barConfig?.iconScale) - readonly property int iconSizeLarge: Theme.barIconSize(barThickness, undefined, root.barConfig?.maximizeWidgetIcons, root.barConfig?.iconScale) - - Component.onCompleted: { - loadPluginData(); - if (visibilityCommand) - Qt.callLater(checkVisibility); - } - - onPluginServiceChanged: { - loadPluginData(); - } - - onPluginIdChanged: { - loadPluginData(); - } - - Connections { - target: pluginService - function onPluginDataChanged(changedPluginId) { - if (changedPluginId === pluginId) { - loadPluginData(); - } - } - } - - function loadPluginData() { - if (!pluginService || !pluginId) { - pluginData = {}; - variants = []; - return; - } - pluginData = SettingsData.getPluginSettingsForPlugin(pluginId); - variants = pluginService.getPluginVariants(pluginId); - } - - function checkVisibility() { - if (!visibilityCommand) { - conditionVisible = true; - return; - } - visibilityProcess.running = true; - } - - function setVisibilityOverride(visible) { - _visibilityOverride = true; - _visibilityOverrideValue = visible; - } - - function clearVisibilityOverride() { - _visibilityOverride = false; - if (visibilityCommand) - checkVisibility(); - } - - onVisibilityCommandChanged: { - if (visibilityCommand) - Qt.callLater(checkVisibility); - else - conditionVisible = true; - } - - onVisibilityIntervalChanged: { - if (visibilityInterval > 0 && visibilityCommand) { - visibilityTimer.restart(); - } else { - visibilityTimer.stop(); - } - } - - Timer { - id: visibilityTimer - interval: root.visibilityInterval * 1000 - repeat: true - running: root.visibilityInterval > 0 && root.visibilityCommand !== "" - onTriggered: root.checkVisibility() - } - - Process { - id: visibilityProcess - command: ["sh", "-c", root.visibilityCommand] - running: false - onExited: (exitCode, exitStatus) => { - root.conditionVisible = (exitCode === 0); - } - } - - function createVariant(variantName, variantConfig) { - if (!pluginService || !pluginId) { - return null; - } - return pluginService.createPluginVariant(pluginId, variantName, variantConfig); - } - - function removeVariant(variantId) { - if (!pluginService || !pluginId) { - return; - } - pluginService.removePluginVariant(pluginId, variantId); - } - - function updateVariant(variantId, variantConfig) { - if (!pluginService || !pluginId) { - return; - } - pluginService.updatePluginVariant(pluginId, variantId, variantConfig); - } - - width: isVertical ? (hasVerticalPill ? verticalPill.width : 0) : (hasHorizontalPill ? horizontalPill.width : 0) - height: isVertical ? (hasVerticalPill ? verticalPill.height : 0) : (hasHorizontalPill ? horizontalPill.height : 0) - - BasePill { - id: horizontalPill - visible: !isVertical && hasHorizontalPill - opacity: root.effectiveVisible ? 1 : 0 - axis: root.axis - section: root.section - popoutTarget: hasPopout ? pluginPopout : null - parentScreen: root.parentScreen - widgetThickness: root.widgetThickness - barThickness: root.barThickness - barSpacing: root.barSpacing - barConfig: root.barConfig - blurBarWindow: root.blurBarWindow - content: root.horizontalBarPill - - states: State { - name: "hidden" - when: !root.effectiveVisible - PropertyChanges { - target: horizontalPill - width: 0 - } - } - - transitions: Transition { - NumberAnimation { - properties: "width,opacity" - duration: Theme.shortDuration - easing.type: Theme.standardEasing - } - } - - onClicked: { - if (pillClickAction) { - if (pillClickAction.length === 0) { - pillClickAction(); - } else { - const globalPos = mapToItem(null, 0, 0); - const currentScreen = parentScreen || Screen; - const pos = SettingsData.getPopupTriggerPosition(globalPos, currentScreen, barThickness, width); - pillClickAction(pos.x, pos.y, pos.width, section, currentScreen); - } - } else if (hasPopout) { - pluginPopout.toggle(); - } - } - onRightClicked: { - if (pillRightClickAction) { - if (pillRightClickAction.length === 0) { - pillRightClickAction(); - } else { - const globalPos = mapToItem(null, 0, 0); - const currentScreen = parentScreen || Screen; - const pos = SettingsData.getPopupTriggerPosition(globalPos, currentScreen, barThickness, width); - pillRightClickAction(pos.x, pos.y, pos.width, section, currentScreen); - } - } - } - } - - BasePill { - id: verticalPill - visible: isVertical && hasVerticalPill - opacity: root.effectiveVisible ? 1 : 0 - axis: root.axis - section: root.section - popoutTarget: hasPopout ? pluginPopout : null - parentScreen: root.parentScreen - widgetThickness: root.widgetThickness - barThickness: root.barThickness - barSpacing: root.barSpacing - barConfig: root.barConfig - blurBarWindow: root.blurBarWindow - content: root.verticalBarPill - isVerticalOrientation: true - - states: State { - name: "hidden" - when: !root.effectiveVisible - PropertyChanges { - target: verticalPill - height: 0 - } - } - - transitions: Transition { - NumberAnimation { - properties: "height,opacity" - duration: Theme.shortDuration - easing.type: Theme.standardEasing - } - } - - onClicked: { - if (pillClickAction) { - if (pillClickAction.length === 0) { - pillClickAction(); - } else { - const globalPos = mapToItem(null, 0, 0); - const currentScreen = parentScreen || Screen; - const pos = SettingsData.getPopupTriggerPosition(globalPos, currentScreen, barThickness, width); - pillClickAction(pos.x, pos.y, pos.width, section, currentScreen); - } - } else if (hasPopout) { - pluginPopout.toggle(); - } - } - onRightClicked: { - if (pillRightClickAction) { - if (pillRightClickAction.length === 0) { - pillRightClickAction(); - } else { - const globalPos = mapToItem(null, 0, 0); - const currentScreen = parentScreen || Screen; - const pos = SettingsData.getPopupTriggerPosition(globalPos, currentScreen, barThickness, width); - pillRightClickAction(pos.x, pos.y, pos.width, section, currentScreen); - } - } - } - } - - function closePopout() { - if (pluginPopout) { - pluginPopout.close(); - } - } - - function triggerPopout() { - if (pillClickAction) { - if (pillClickAction.length === 0) { - pillClickAction(); - return; - } - const pill = isVertical ? verticalPill : horizontalPill; - const globalPos = pill.mapToItem(null, 0, 0); - const currentScreen = parentScreen || Screen; - const pos = SettingsData.getPopupTriggerPosition(globalPos, currentScreen, barThickness, pill.width); - pillClickAction(pos.x, pos.y, pos.width, section, currentScreen); - return; - } - if (!hasPopout) - return; - - const pill = isVertical ? verticalPill : horizontalPill; - const globalPos = pill.visualContent.mapToItem(null, 0, 0); - const currentScreen = parentScreen || Screen; - const barPosition = axis?.edge === "left" ? 2 : (axis?.edge === "right" ? 3 : (axis?.edge === "top" ? 0 : 1)); - const pos = SettingsData.getPopupTriggerPosition(globalPos, currentScreen, barThickness, pill.visualWidth, barSpacing, barPosition, barConfig); - - pluginPopout.setTriggerPosition(pos.x, pos.y, pos.width, section, currentScreen, barPosition, barThickness, barSpacing, barConfig); - pluginPopout.toggle(); - } - - PluginPopout { - id: pluginPopout - contentWidth: root.popoutWidth - contentHeight: root.popoutHeight - pluginContent: root.popoutContent - } -} |