From 57836f974c7be0f4a253f507e70de5ae7d02d4b3 Mon Sep 17 00:00:00 2001 From: zach Date: Thu, 21 May 2026 15:52:43 +0200 Subject: [PATCH] remove residue test files --- testcropper/Paths.qml | 35 ------ testcropper/WallpaperPath.qml | 28 ----- testcropper/Wallpapers.qml | 56 ---------- testcropper/shell.qml | 200 ---------------------------------- 4 files changed, 319 deletions(-) delete mode 100644 testcropper/Paths.qml delete mode 100644 testcropper/WallpaperPath.qml delete mode 100644 testcropper/Wallpapers.qml delete mode 100644 testcropper/shell.qml diff --git a/testcropper/Paths.qml b/testcropper/Paths.qml deleted file mode 100644 index 3dcabbe..0000000 --- a/testcropper/Paths.qml +++ /dev/null @@ -1,35 +0,0 @@ -pragma Singleton - -import ZShell -import Quickshell -import QtQuick - -Singleton { - id: root - - readonly property string cache: `${Quickshell.env("XDG_CACHE_HOME") || `${home}/.cache`}/zshell` - readonly property string config: `${Quickshell.env("XDG_CONFIG_HOME") || `${home}/.config`}/zshell` - readonly property string data: `${Quickshell.env("XDG_DATA_HOME") || `${home}/.local/share`}/zshell` - readonly property string desktop: `${Quickshell.env("HOME")}/Desktop` - readonly property string home: Quickshell.env("HOME") - readonly property string imagecache: `${cache}/imagecache` - readonly property string libdir: Quickshell.env("ZSHELL_LIB_DIR") || "/usr/lib/zshell" - readonly property string notifimagecache: `${imagecache}/notifs` - readonly property string pictures: Quickshell.env("XDG_PICTURES_DIR") || `${home}/Pictures` - readonly property string recsdir: Quickshell.env("ZSHELL_RECORDINGS_DIR") || `${videos}/Recordings` - readonly property string state: `${Quickshell.env("XDG_STATE_HOME") || `${home}/.local/state`}/zshell` - readonly property string videos: Quickshell.env("XDG_VIDEOS_DIR") || `${home}/Videos` - - function absolutePath(path: string): string { - return toLocalFile(path.replace("~", home)); - } - - function shortenHome(path: string): string { - return path.replace(home, "~"); - } - - function toLocalFile(path: url): string { - path = Qt.resolvedUrl(path); - return path.toString() ? ZShellIo.toLocalFile(path) : ""; - } -} diff --git a/testcropper/WallpaperPath.qml b/testcropper/WallpaperPath.qml deleted file mode 100644 index ea5dc22..0000000 --- a/testcropper/WallpaperPath.qml +++ /dev/null @@ -1,28 +0,0 @@ -pragma Singleton - -import Quickshell -import Quickshell.Io - -Singleton { - id: root - - property alias currentWallpaperPath: adapter.currentWallpaperPath - property alias lockscreenBg: adapter.lockscreenBg - - FileView { - id: fileView - - path: `${Paths.state}/wallpaper_path.json` - watchChanges: true - - onAdapterUpdated: writeAdapter() - onFileChanged: reload() - - JsonAdapter { - id: adapter - - property string currentWallpaperPath: "" - property string lockscreenBg: `${Paths.state}/lockscreen_bg.png` - } - } -} diff --git a/testcropper/Wallpapers.qml b/testcropper/Wallpapers.qml deleted file mode 100644 index 4eb5d9f..0000000 --- a/testcropper/Wallpapers.qml +++ /dev/null @@ -1,56 +0,0 @@ -pragma Singleton -pragma ComponentBehavior: Bound - -import Quickshell -import Quickshell.Io -import QtQuick - -Singleton { - id: root - - property alias crops: adapter.monitorCrops - property alias monitorCrops: monitorCrops - property string previewPath - property bool recentlyChanged - property bool showPreview: false - - function getCrop(screen: string): var { - return root.crops[screen]; - } - - function setCrop(screen: string, rect: rect, scaledRect: rect, zoom: real): void { - let updated = Object.assign({}, root.crops); - - updated[screen] = { - x: rect.x, - y: rect.y, - width: rect.width, - height: rect.height, - scaledX: scaledRect.x, - scaledY: scaledRect.y, - scaledWidth: scaledRect.width, - scaledHeight: scaledRect.height, - zoom: zoom - }; - - root.crops = updated; - monitorCrops.writeAdapter(); - monitorCrops.reload(); - } - - FileView { - id: monitorCrops - - path: `${Paths.state}/wallpaper-crops.json` - watchChanges: true - - onAdapterUpdated: writeAdapter() - onFileChanged: reload() - - JsonAdapter { - id: adapter - - property var monitorCrops: ({}) - } - } -} diff --git a/testcropper/shell.qml b/testcropper/shell.qml deleted file mode 100644 index efe6e5c..0000000 --- a/testcropper/shell.qml +++ /dev/null @@ -1,200 +0,0 @@ -import Quickshell -import Quickshell.Hyprland -import QtQuick -import QtQuick.Layouts - -Variants { - model: Quickshell.screens - - PanelWindow { - id: root - - required property var modelData - readonly property list screens: Quickshell.screens - - implicitWidth: 300 - screen: modelData - - anchors { - bottom: true - left: false - right: true - top: true - } - - ColumnLayout { - id: layout - - anchors.fill: parent - - Repeater { - model: Quickshell.screens - - Item { - id: delegate - - required property ShellScreen modelData - - Layout.fillHeight: true - Layout.fillWidth: true - - Image { - id: scaledImg - - property var displayData - readonly property real imageRatio: scaledImg.sourceSize.width / scaledImg.sourceSize.height - property real monitorScale - readonly property real scaleDownX: scaledImg.paintedWidth / scaledImg.sourceSize.width - readonly property real scaleDownY: scaledImg.paintedHeight / scaledImg.sourceSize.height - readonly property real scaleX: (scaledImg.sourceSize.width * monitorScale) / scaledImg.paintedWidth - readonly property real scaleY: (scaledImg.sourceSize.height * monitorScale) / scaledImg.paintedHeight - - anchors.left: parent.left - anchors.right: parent.right - anchors.verticalCenter: parent.verticalCenter - fillMode: Image.PreserveAspectFit - height: width / imageRatio - source: "/mnt/IronWolf/SDImages/SWWW_Wals/wallhaven-43dyq6.jpg" - - Component.onCompleted: { - Hyprland.refreshMonitors(); - monitorScale = Hyprland.monitorFor(delegate.modelData).scale; - } - onScaleYChanged: console.log(scaleX, scaleY, "scale") - onStatusChanged: { - if (scaledImg.status == Image.Ready) { - console.log(scaledImg.sourceSize.width, scaledImg.sourceSize.height, scaledImg.paintedWidth, scaledImg.paintedHeight, delegate.modelData.width, delegate.modelData.height); - } - } - - Connections { - function onLoaded(): void { - scaledImg.displayData = Wallpapers.getCrop(delegate.modelData.name); - cropRect.restoreFromData(); - } - - target: Wallpapers.monitorCrops - } - - Rectangle { - id: cropRect - - property real aspectRatio: delegate.modelData.width / delegate.modelData.height - readonly property real baseHeight: baseWidth / aspectRatio - - // PreserveAspectFit baseline at zoom = 1 - readonly property real baseWidth: { - let fittedHeight = scaledImg.paintedHeight; - let fittedWidth = fittedHeight * aspectRatio; - - if (fittedWidth > scaledImg.paintedWidth) { - fittedWidth = scaledImg.paintedWidth; - fittedHeight = fittedWidth / aspectRatio; - } - - return fittedWidth; - } - - // actual visible image origin inside Image item - readonly property real imageX: (scaledImg.width - scaledImg.paintedWidth) / 2 - readonly property real imageY: (scaledImg.height - scaledImg.paintedHeight) / 2 - property real zoom: scaledImg.displayData.zoom - - function centerInImage() { - x = imageX + (scaledImg.paintedWidth - width) / 2; - y = imageY + (scaledImg.paintedHeight - height) / 2; - } - - function clampToBounds() { - x = Math.max(imageX, Math.min(x, imageX + scaledImg.paintedWidth - width)); - - y = Math.max(imageY, Math.min(y, imageY + scaledImg.paintedHeight - height)); - } - - function restoreFromData() { - let data = scaledImg.displayData; - - if (data && data.scaledX !== 0 || data.scaledY !== 0 || data.scaledWidth !== 0 || data.scaledHeight !== 0) { - console.log("true"); - zoom = data.zoom ?? 1.0; - - // width/height are authoritative - width = data.scaledWidth; - height = data.scaledHeight; - - x = imageX + data.scaledX; - y = imageY + data.scaledY; - - clampToBounds(); - } else { - console.log("false"); - zoom = 1.0; - centerInImage(); - } - } - - border.color: "lime" - border.width: 2 - color: "transparent" - height: baseHeight / zoom - width: baseWidth / zoom - - onHeightChanged: clampToBounds() - onWidthChanged: clampToBounds() - } - - MouseArea { - id: mouse - - function updateCrop(mouseX, mouseY) { - let nx = mouseX - cropRect.width * 0.5; - let ny = mouseY - cropRect.height * 0.5; - - nx = Math.max(cropRect.imageX, Math.min(nx, cropRect.imageX + scaledImg.paintedWidth - cropRect.width)); - - ny = Math.max(cropRect.imageY, Math.min(ny, cropRect.imageY + scaledImg.paintedHeight - cropRect.height)); - - cropRect.x = nx; - cropRect.y = ny; - } - - anchors.fill: parent - hoverEnabled: true - preventStealing: true - - onPositionChanged: mouse => { - if (pressed) - updateCrop(mouse.x, mouse.y); - } - onPressed: mouse => { - updateCrop(mouse.x, mouse.y); - } - onReleased: { - console.log(cropRect.mapToItem(scaledImg, 0, 0, cropRect.width, cropRect.height), cropRect.width, cropRect.height); - const croprect = cropRect.mapToItem(scaledImg, 0, 0, cropRect.width, cropRect.height); - const upscaledRect = Qt.rect(croprect.x * scaledImg.scaleX, croprect.y * scaledImg.scaleY, croprect.width * scaledImg.scaleX, croprect.height * scaledImg.scaleY); - Wallpapers.setCrop(delegate.modelData.name, upscaledRect, croprect, cropRect.zoom); - } - onWheel: wheel => { - let oldCenterX = cropRect.x + cropRect.width * 0.5; - let oldCenterY = cropRect.y + cropRect.height * 0.5; - - if (wheel.angleDelta.y > 0) - cropRect.zoom *= 1.1; - else - cropRect.zoom /= 1.1; - - cropRect.zoom = Math.max(1.0, Math.min(cropRect.zoom, 10.0)); - - cropRect.x = oldCenterX - cropRect.width * 0.5; - cropRect.y = oldCenterY - cropRect.height * 0.5; - - cropRect.clampToBounds(); - } - } - } - } - } - } - } -}