move some files placed in the wrong folder

This commit is contained in:
end-4
2025-09-20 10:11:35 +02:00
parent cecd47caea
commit ed8e4b8766
3 changed files with 0 additions and 0 deletions
@@ -0,0 +1,40 @@
import qs.modules.common
import qs.modules.common.widgets
import QtQuick
import QtQuick.Layouts
Rectangle {
id: root
property alias materialIcon: icon.text
property alias text: noticeText.text
radius: Appearance.rounding.normal
color: Appearance.colors.colPrimaryContainer
implicitWidth: mainRowLayout.implicitWidth + mainRowLayout.anchors.margins * 2
implicitHeight: mainRowLayout.implicitHeight + mainRowLayout.anchors.margins * 2
RowLayout {
id: mainRowLayout
anchors.fill: parent
anchors.margins: 8
spacing: 8
MaterialSymbol {
id: icon
Layout.fillWidth: false
Layout.alignment: Qt.AlignTop
text: "info"
iconSize: Appearance.font.pixelSize.huge
color: Appearance.colors.colOnPrimaryContainer
}
StyledText {
id: noticeText
Layout.fillWidth: true
Layout.alignment: Qt.AlignVCenter
text: "Notice message"
color: Appearance.colors.colOnPrimaryContainer
wrapMode: Text.WordWrap
}
}
}
@@ -0,0 +1,12 @@
import QtQuick
import QtQuick.Effects
MultiEffect {
id: root
source: wallpaper
anchors.fill: source
saturation: 0.2
blurEnabled: true
blurMax: 100
blur: 1
}
@@ -0,0 +1,56 @@
import QtQuick
import Quickshell
import Quickshell.Io
import qs.modules.common
import qs.modules.common.widgets
import qs.modules.common.functions
/**
* Thumbnail image. It currently generates to the right place at the right size, but does not handle metadata/maintenance on modification.
* See Freedesktop's spec: https://specifications.freedesktop.org/thumbnail-spec/thumbnail-spec-latest.html
*/
StyledImage {
id: root
property bool generateThumbnail: true
required property string sourcePath
property string thumbnailSizeName: Images.thumbnailSizeNameForDimensions(sourceSize.width, sourceSize.height)
property string thumbnailPath: {
if (sourcePath.length == 0) return;
const resolvedUrlWithoutFileProtocol = FileUtils.trimFileProtocol(`${Qt.resolvedUrl(sourcePath)}`);
const encodedUrlWithoutFileProtocol = resolvedUrlWithoutFileProtocol.split("/").map(part => encodeURIComponent(part)).join("/");
const md5Hash = Qt.md5(`file://${encodedUrlWithoutFileProtocol}`);
return `${Directories.genericCache}/thumbnails/${thumbnailSizeName}/${md5Hash}.png`;
}
source: thumbnailPath
asynchronous: true
smooth: true
mipmap: false
opacity: status === Image.Ready ? 1 : 0
Behavior on opacity {
animation: Appearance.animation.elementMoveFast.numberAnimation.createObject(this)
}
onSourceSizeChanged: {
if (!root.generateThumbnail) return;
thumbnailGeneration.running = false;
thumbnailGeneration.running = true;
}
Process {
id: thumbnailGeneration
command: {
const maxSize = Images.thumbnailSizes[root.thumbnailSizeName];
return ["bash", "-c",
`[ -f '${FileUtils.trimFileProtocol(root.thumbnailPath)}' ] && exit 0 || { magick '${root.sourcePath}' -resize ${maxSize}x${maxSize} '${FileUtils.trimFileProtocol(root.thumbnailPath)}' && exit 1; }`
]
}
onExited: (exitCode, exitStatus) => {
if (exitCode === 1) { // Force reload if thumbnail had to be generated
root.source = "";
root.source = root.thumbnailPath; // Force reload
}
}
}
}