diff options
Diffstat (limited to 'raveos-hyprland-theme/theme-data/DankMaterialShell/quickshell/Modules/DankBar/Widgets/DiskUsage.qml')
| -rw-r--r-- | raveos-hyprland-theme/theme-data/DankMaterialShell/quickshell/Modules/DankBar/Widgets/DiskUsage.qml | 255 |
1 files changed, 0 insertions, 255 deletions
diff --git a/raveos-hyprland-theme/theme-data/DankMaterialShell/quickshell/Modules/DankBar/Widgets/DiskUsage.qml b/raveos-hyprland-theme/theme-data/DankMaterialShell/quickshell/Modules/DankBar/Widgets/DiskUsage.qml deleted file mode 100644 index d6e6d1b..0000000 --- a/raveos-hyprland-theme/theme-data/DankMaterialShell/quickshell/Modules/DankBar/Widgets/DiskUsage.qml +++ /dev/null @@ -1,255 +0,0 @@ -import QtQuick -import qs.Common -import qs.Modules.Plugins -import qs.Services -import qs.Widgets - -BasePill { - id: root - - property var widgetData: null - property string mountPath: (widgetData && widgetData.mountPath !== undefined) ? widgetData.mountPath : "/" - property int diskUsageMode: (widgetData && widgetData.diskUsageMode !== undefined) ? widgetData.diskUsageMode : 0 - property bool isHovered: mouseArea.containsMouse - property bool isAutoHideBar: false - - property var selectedMount: { - if (!DgopService.diskMounts || DgopService.diskMounts.length === 0) { - return null; - } - - const currentMountPath = root.mountPath || "/"; - - for (let i = 0; i < DgopService.diskMounts.length; i++) { - if (DgopService.diskMounts[i].mount === currentMountPath) { - return DgopService.diskMounts[i]; - } - } - - for (let i = 0; i < DgopService.diskMounts.length; i++) { - if (DgopService.diskMounts[i].mount === "/") { - return DgopService.diskMounts[i]; - } - } - - return DgopService.diskMounts[0] || null; - } - - property real diskUsagePercent: { - if (!selectedMount || !selectedMount.percent) { - return 0; - } - const percentStr = selectedMount.percent.replace("%", ""); - return parseFloat(percentStr) || 0; - } - - Component.onCompleted: { - DgopService.addRef(["diskmounts"]); - } - Component.onDestruction: { - DgopService.removeRef(["diskmounts"]); - } - - readonly property real minTooltipY: { - if (!parentScreen || !isVerticalOrientation) { - return 0; - } - - if (isAutoHideBar) { - return 0; - } - - if (parentScreen.y > 0) { - const spacing = barConfig?.spacing ?? 4; - const offset = barThickness + spacing; - return offset; - } - - return 0; - } - - Connections { - function onWidgetDataChanged() { - root.mountPath = Qt.binding(() => { - return (root.widgetData && root.widgetData.mountPath !== undefined) ? root.widgetData.mountPath : "/"; - }); - - root.selectedMount = Qt.binding(() => { - if (!DgopService.diskMounts || DgopService.diskMounts.length === 0) { - return null; - } - - const currentMountPath = root.mountPath || "/"; - - for (let i = 0; i < DgopService.diskMounts.length; i++) { - if (DgopService.diskMounts[i].mount === currentMountPath) { - return DgopService.diskMounts[i]; - } - } - - for (let i = 0; i < DgopService.diskMounts.length; i++) { - if (DgopService.diskMounts[i].mount === "/") { - return DgopService.diskMounts[i]; - } - } - - return DgopService.diskMounts[0] || null; - }); - } - - target: SettingsData - } - - content: Component { - Item { - implicitWidth: root.isVerticalOrientation ? (root.widgetThickness - root.horizontalPadding * 2) : diskContent.implicitWidth - implicitHeight: root.isVerticalOrientation ? diskColumn.implicitHeight : (root.widgetThickness - root.horizontalPadding * 2) - - Column { - id: diskColumn - visible: root.isVerticalOrientation - anchors.centerIn: parent - spacing: 1 - - DankIcon { - name: "storage" - size: Theme.barIconSize(root.barThickness, undefined, root.barConfig?.maximizeWidgetIcons, root.barConfig?.iconScale) - color: { - if (root.diskUsagePercent > 90) { - return Theme.tempDanger; - } - if (root.diskUsagePercent > 75) { - return Theme.tempWarning; - } - return Theme.surfaceText; - } - anchors.horizontalCenter: parent.horizontalCenter - } - - StyledText { - text: { - if (root.diskUsagePercent === undefined || root.diskUsagePercent === null || root.diskUsagePercent === 0) { - return "--"; - } - if (!root.selectedMount) return "--"; - switch (root.diskUsageMode) { - case 1: return root.selectedMount.size || "--"; - case 2: return root.selectedMount.avail || "--"; - case 3: return (root.selectedMount.avail || "--") + " / " + (root.selectedMount.size || "--"); - default: return root.diskUsagePercent.toFixed(0); - } - } - font.pixelSize: Theme.barTextSize(root.barThickness, root.barConfig?.fontScale, root.barConfig?.maximizeWidgetText) - color: Theme.widgetTextColor - anchors.horizontalCenter: parent.horizontalCenter - } - } - - Row { - id: diskContent - visible: !root.isVerticalOrientation - anchors.centerIn: parent - spacing: 3 - - DankIcon { - name: "storage" - size: Theme.barIconSize(root.barThickness, undefined, root.barConfig?.maximizeWidgetIcons, root.barConfig?.iconScale) - color: { - if (root.diskUsagePercent > 90) { - return Theme.tempDanger; - } - if (root.diskUsagePercent > 75) { - return Theme.tempWarning; - } - return Theme.surfaceText; - } - anchors.verticalCenter: parent.verticalCenter - } - - StyledText { - text: { - if (!root.selectedMount) { - return "--"; - } - return root.selectedMount.mount; - } - font.pixelSize: Theme.barTextSize(root.barThickness, root.barConfig?.fontScale, root.barConfig?.maximizeWidgetText) - color: Theme.widgetTextColor - anchors.verticalCenter: parent.verticalCenter - horizontalAlignment: Text.AlignLeft - elide: Text.ElideNone - } - - StyledText { - text: { - if (root.diskUsagePercent === undefined || root.diskUsagePercent === null || root.diskUsagePercent === 0) { - return "--%"; - } - if (!root.selectedMount) return "--%"; - switch (root.diskUsageMode) { - case 1: return root.selectedMount.size || "--"; - case 2: return root.selectedMount.avail || "--"; - case 3: return (root.selectedMount.avail || "--") + " / " + (root.selectedMount.size || "--"); - default: return root.diskUsagePercent.toFixed(0) + "%"; - } - } - font.pixelSize: Theme.barTextSize(root.barThickness, root.barConfig?.fontScale, root.barConfig?.maximizeWidgetText) - color: Theme.widgetTextColor - anchors.verticalCenter: parent.verticalCenter - horizontalAlignment: Text.AlignLeft - elide: Text.ElideNone - - StyledTextMetrics { - id: diskBaseline - font.pixelSize: Theme.barTextSize(root.barThickness, root.barConfig?.fontScale, root.barConfig?.maximizeWidgetText) - text: { - switch (root.diskUsageMode) { - case 3: return "888.8G / 888.8G"; - case 1: - case 2: return "888.8G"; - default: return "100%"; - } - } - } - - width: Math.max(diskBaseline.width, paintedWidth) - } - } - } - } - - Loader { - id: tooltipLoader - active: false - sourceComponent: DankTooltip {} - } - - MouseArea { - id: mouseArea - z: 1 - anchors.fill: parent - hoverEnabled: root.isVerticalOrientation - onEntered: { - if (root.isVerticalOrientation && root.selectedMount) { - tooltipLoader.active = true; - if (tooltipLoader.item) { - const globalPos = mapToGlobal(width / 2, height / 2); - const currentScreen = root.parentScreen || Screen; - const screenX = currentScreen ? currentScreen.x : 0; - const screenY = currentScreen ? currentScreen.y : 0; - const relativeY = globalPos.y - screenY; - const adjustedY = relativeY + root.minTooltipY; - const tooltipX = root.axis?.edge === "left" ? (root.barThickness + root.barSpacing + Theme.spacingXS) : (currentScreen.width - root.barThickness - root.barSpacing - Theme.spacingXS); - const isLeft = root.axis?.edge === "left"; - tooltipLoader.item.show(root.selectedMount.mount, screenX + tooltipX, adjustedY, currentScreen, isLeft, !isLeft); - } - } - } - onExited: { - if (tooltipLoader.item) { - tooltipLoader.item.hide(); - } - tooltipLoader.active = false; - } - } -} |