style wallpaperswitcher

This commit is contained in:
lucy 2026-01-22 10:30:41 +01:00
parent 0e04538a7b
commit 520ca3bb4c
3 changed files with 47 additions and 32 deletions

View File

@ -74,6 +74,7 @@ Loader {
spacing: 5 spacing: 5
CustomText { CustomText {
id: batText id: batText
anchors.verticalCenter: parent.verticalCenter
text: Math.round(UPower.displayDevice.percentage * 100) + "%" text: Math.round(UPower.displayDevice.percentage * 100) + "%"
} }
CustomIcon { CustomIcon {

View File

@ -8,14 +8,18 @@ import Qt.labs.folderlistmodel 2.10
import Quickshell.Io import Quickshell.Io
import qs import qs
import Quickshell.Hyprland import Quickshell.Hyprland
import QtQuick.Layouts
FloatingWindow { FloatingWindow {
id: root id: root
implicitHeight: 600
implicitWidth: 900
title: "qs-wallswitcher"
visible: Settings.config.wallSwitcherShown visible: Settings.config.wallSwitcherShown
color: Colors.background
onClosed: { onClosed: {
Settings.config.wallSwitcherShown = false; Settings.config.wallSwitcherShown = false;
} }
Process { Process {
id: wallustRunner id: wallustRunner
property string cmd: "matugen image " + Settings.config.currentWall property string cmd: "matugen image " + Settings.config.currentWall
@ -28,31 +32,51 @@ FloatingWindow {
} }
} }
implicitHeight: 600 ColumnLayout {
implicitWidth: 900 id: windowLayout
title: "qs-wallswitcher"
color: Colors.background
WrapperItem {
id: innerWindowWrapper
anchors.centerIn: parent
anchors.fill: parent anchors.fill: parent
margin: 20
child: Rectangle { Rectangle {
id: textWrapper
Layout.fillWidth: true
Layout.margins: 20
Layout.alignment: Qt.AlignCenter
radius: 14
implicitHeight: 30
color: Colors.color6
CustomText {
id: titleText
anchors.centerIn: textWrapper
text: "Wallpapers in " + Settings.config.wallDir
}
}
Rectangle {
id: innerWindow id: innerWindow
anchors.fill: parent Layout.fillWidth: true
anchors.centerIn: parent Layout.fillHeight: true
implicitWidth: parent.implicitWidth Layout.margins: 20
implicitHeight: parent.implicitHeight radius: 14
color: Colors.color8
GridView { GridView {
id: gridRoot id: gridRoot
property var columns: Math.floor(gridRoot.width / cellWidth)
property var usedWidth: columns * cellWidth
property var emptySpace: width - usedWidth
property var rows: Math.floor(gridRoot.height / cellHeight)
property var usedHeight: rows * cellHeight
property var emptyHeight: height - usedHeight
clip: true
boundsBehavior: Flickable.StopAtBounds
snapMode: GridView.SnapToRow
cellWidth: 140 cellWidth: 140
cellHeight: 100 cellHeight: 100
topMargin: innerWindowText.implicitHeight + innerWindowText.topPadding anchors.fill: innerWindow
anchors.fill: parent anchors.centerIn: innerWindow
anchors.horizontalCenter: parent.horizontalCenter leftMargin: emptySpace / 2
leftMargin: 40 anchors.margins: 20
rightMargin: 20 model: folderModel
delegate: fileDelegate
FolderListModel { FolderListModel {
id: folderModel id: folderModel
folder: Settings.config.wallDir folder: Settings.config.wallDir
@ -84,18 +108,6 @@ FloatingWindow {
} }
} }
} }
model: folderModel
delegate: fileDelegate
}
radius: 24
color: Colors.background
CustomText {
id: innerWindowText
topPadding: 10
text: "Wallpapers in " + Settings.config.wallDir
anchors.horizontalCenter: parent.horizontalCenter
} }
} }
} }

View File

@ -0,0 +1,2 @@
import qs
import qs.settings