1
0
mirror of https://github.com/AvengeMedia/DankMaterialShell.git synced 2026-04-03 20:32:07 -04:00

wallpaper: tweak binding again for updatesEnabled

This commit is contained in:
bbedward
2026-03-20 09:22:27 -04:00
parent 959190dcbc
commit dae74a40c0
2 changed files with 17 additions and 9 deletions

View File

@@ -100,12 +100,12 @@ Variants {
Connections { Connections {
target: currentWallpaper target: currentWallpaper
function onStatusChanged() { function onStatusChanged() {
if (currentWallpaper.status === Image.Ready) { if (currentWallpaper.status !== Image.Ready && currentWallpaper.status !== Image.Error)
return;
root._renderSettling = true; root._renderSettling = true;
renderSettleTimer.restart(); renderSettleTimer.restart();
} }
} }
}
Timer { Timer {
id: renderSettleTimer id: renderSettleTimer
@@ -206,6 +206,7 @@ Variants {
visible: false visible: false
opacity: 1 opacity: 1
asynchronous: true asynchronous: true
retainWhileLoading: true
smooth: true smooth: true
cache: true cache: true
sourceSize: Qt.size(root.textureWidth, root.textureHeight) sourceSize: Qt.size(root.textureWidth, root.textureHeight)
@@ -218,6 +219,7 @@ Variants {
visible: false visible: false
opacity: 0 opacity: 0
asynchronous: true asynchronous: true
retainWhileLoading: true
smooth: true smooth: true
cache: true cache: true
sourceSize: Qt.size(root.textureWidth, root.textureHeight) sourceSize: Qt.size(root.textureWidth, root.textureHeight)
@@ -300,6 +302,8 @@ Variants {
root.useNextForEffect = false; root.useNextForEffect = false;
nextWallpaper.source = ""; nextWallpaper.source = "";
root.transitionProgress = 0.0; root.transitionProgress = 0.0;
root._renderSettling = true;
renderSettleTimer.restart();
root.effectActive = false; root.effectActive = false;
} }
} }

View File

@@ -93,12 +93,12 @@ Variants {
Connections { Connections {
target: currentWallpaper target: currentWallpaper
function onStatusChanged() { function onStatusChanged() {
if (currentWallpaper.status === Image.Ready) { if (currentWallpaper.status !== Image.Ready && currentWallpaper.status !== Image.Error)
return;
root._renderSettling = true; root._renderSettling = true;
renderSettleTimer.restart(); renderSettleTimer.restart();
} }
} }
}
function _recheckScreenScale() { function _recheckScreenScale() {
const newScale = CompositorService.getScreenScale(modelData); const newScale = CompositorService.getScreenScale(modelData);
@@ -188,7 +188,7 @@ Variants {
Component.onCompleted: { Component.onCompleted: {
if (typeof wallpaperWindow.updatesEnabled !== "undefined") if (typeof wallpaperWindow.updatesEnabled !== "undefined")
wallpaperWindow.updatesEnabled = Qt.binding(() => !root.source || root.effectActive || root._renderSettling || root.overviewBlurActive || root._overviewBlurSettling || currentWallpaper.status === Image.Loading || nextWallpaper.status === Image.Loading); wallpaperWindow.updatesEnabled = Qt.binding(() => !root.source || root.effectActive || root._renderSettling || root.overviewBlurActive || root._overviewBlurSettling || root.pendingWallpaper !== "" || root._deferredSource !== "" || currentWallpaper.status === Image.Loading || nextWallpaper.status === Image.Loading);
if (!source) { if (!source) {
root._renderSettling = false; root._renderSettling = false;
@@ -320,6 +320,7 @@ Variants {
opacity: 1 opacity: 1
layer.enabled: false layer.enabled: false
asynchronous: true asynchronous: true
retainWhileLoading: true
smooth: true smooth: true
cache: true cache: true
sourceSize: Qt.size(root.textureWidth, root.textureHeight) sourceSize: Qt.size(root.textureWidth, root.textureHeight)
@@ -333,6 +334,7 @@ Variants {
opacity: 0 opacity: 0
layer.enabled: false layer.enabled: false
asynchronous: true asynchronous: true
retainWhileLoading: true
smooth: true smooth: true
cache: true cache: true
sourceSize: Qt.size(root.textureWidth, root.textureHeight) sourceSize: Qt.size(root.textureWidth, root.textureHeight)
@@ -591,6 +593,8 @@ Variants {
root.transitionProgress = 0.0; root.transitionProgress = 0.0;
currentWallpaper.layer.enabled = false; currentWallpaper.layer.enabled = false;
nextWallpaper.layer.enabled = false; nextWallpaper.layer.enabled = false;
root._renderSettling = true;
renderSettleTimer.restart();
root.effectActive = false; root.effectActive = false;
if (!root.pendingWallpaper) if (!root.pendingWallpaper)