internal: async save item

Fixes #180
This commit is contained in:
2 * r + 2 * t 2025-08-26 20:40:40 +10:00
parent d65fb180ad
commit 838eb74eb8

View file

@ -1,4 +1,5 @@
import qs.utils
import Caelestia
import Quickshell
import Quickshell.Io
import QtQuick
@ -8,7 +9,7 @@ Image {
property string path
property string hash
readonly property string cachePath: `${Paths.stringify(Paths.imagecache)}/${hash}@${effectiveWidth}x${effectiveHeight}.png`
readonly property url cachePath: `${Paths.imagecache}/${hash}@${effectiveWidth}x${effectiveHeight}.png`
readonly property real effectiveScale: QsWindow.window?.devicePixelRatio ?? 1
readonly property int effectiveWidth: Math.ceil(width * effectiveScale)
@ -31,8 +32,7 @@ Image {
source = path;
else if (source == path && status === Image.Ready) {
Paths.mkdir(Paths.imagecache);
const grabPath = cachePath;
grabToImage(res => res.saveToFile(grabPath));
CUtils.saveItem(this, cachePath);
}
}