pragma ComponentBehavior: Bound import Quickshell.Widgets import QtQuick import Qt.labs.folderlistmodel 2.11 import qs import qs.settings Rectangle { id: wallPicker color: "transparent" MouseArea { anchors.fill: parent acceptedButtons: Qt.AllButtons } Rectangle { id: container anchors.fill: parent color: Colors.c.base00 radius: Config.cfg.appearance.rounding GridView { id: wallpaperLayout clip: true snapMode: GridView.SnapOneRow flow: GridView.FlowTopToBottom cellHeight: container.height cellWidth: container.width / 6 anchors.fill: parent anchors.centerIn: parent anchors.margins: 10 model: wallpaperList delegate: ClippingRectangle { id: wallTile clip: true required property var modelData radius: Config.cfg.appearance.rounding / 1.5 color: 'transparent' implicitWidth: wallpaperLayout.cellWidth - 20 implicitHeight: wallpaperLayout.cellHeight - 20 Image { id: wallpaper anchors.fill: parent source: wallTile.modelData.filePath sourceSize.width: 16 * 30 sourceSize.height: 9 * 30 asynchronous: true cache: true } MouseArea { id: wpClickHandler anchors.fill: parent cursorShape: Qt.PointingHandCursor acceptedButtons: Qt.LeftButton hoverEnabled: true onClicked: { Config.cfg.wallpaper.wallpaper = wallTile.modelData.filePath; Config.save(); } } } } FolderListModel { id: wallpaperList folder: Qt.resolvedUrl(Config.cfg.wallpaper.wallDir) } } }