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

frame(Connected): Fix connected regression & Ran Performance pass

This commit is contained in:
purian23
2026-05-01 16:31:35 -04:00
parent 5f1cff2e58
commit e876ddc0b9
8 changed files with 166 additions and 90 deletions

View File

@@ -191,6 +191,24 @@ Item {
signal dialogClosed
Timer {
id: _fullSyncTimer
interval: 0
onTriggered: root._flushFullSync()
}
Timer {
id: _animSyncTimer
interval: 0
onTriggered: root._flushAnimSync()
}
Timer {
id: _bodySyncTimer
interval: 0
onTriggered: root._flushBodySync()
}
property string _chromeClaimId: ""
property bool _fullSyncPending: false
@@ -243,10 +261,7 @@ Item {
if (_fullSyncPending)
return;
_fullSyncPending = true;
Qt.callLater(() => {
if (root && typeof root._flushFullSync === "function")
root._flushFullSync();
});
_fullSyncTimer.restart();
}
property bool _animSyncQueued: false
@@ -254,10 +269,7 @@ Item {
if (_animSyncQueued)
return;
_animSyncQueued = true;
Qt.callLater(() => {
if (root && typeof root._flushAnimSync === "function")
root._flushAnimSync();
});
_animSyncTimer.restart();
}
function _flushAnimSync() {
_animSyncQueued = false;
@@ -269,10 +281,7 @@ Item {
if (_bodySyncQueued)
return;
_bodySyncQueued = true;
Qt.callLater(() => {
if (root && typeof root._flushBodySync === "function")
root._flushBodySync();
});
_bodySyncTimer.restart();
}
function _flushBodySync() {
_bodySyncQueued = false;
@@ -625,8 +634,8 @@ Item {
readonly property real s: Math.min(1, contentContainer.scaleValue)
blurX: root._ccX + root.alignedWidth * (1 - s) * 0.5 + Theme.snap(contentContainer.animX, root.dpr)
blurY: root._ccY + root.alignedHeight * (1 - s) * 0.5 + Theme.snap(contentContainer.animY, root.dpr)
blurWidth: (root.spotlightOpen || root.isClosing) && contentWrapper.publishedOpacity > 0 && !root.frameOwnsConnectedChrome ? root.alignedWidth * s : 0
blurHeight: (root.spotlightOpen || root.isClosing) && contentWrapper.publishedOpacity > 0 && !root.frameOwnsConnectedChrome ? root.alignedHeight * s : 0
blurWidth: (root.spotlightOpen || root.isClosing) && !root.frameOwnsConnectedChrome ? root.alignedWidth * s : 0
blurHeight: (root.spotlightOpen || root.isClosing) && !root.frameOwnsConnectedChrome ? root.alignedHeight * s : 0
blurRadius: root.cornerRadius
}

View File

@@ -353,8 +353,8 @@ Item {
readonly property real s: Math.min(1, modalContainer.publishedScale)
blurX: modalContainer.x + modalContainer.width * (1 - s) * 0.5
blurY: modalContainer.y + modalContainer.height * (1 - s) * 0.5
blurWidth: (contentVisible && modalContainer.publishedOpacity > 0) ? modalContainer.width * s : 0
blurHeight: (contentVisible && modalContainer.publishedOpacity > 0) ? modalContainer.height * s : 0
blurWidth: contentVisible ? modalContainer.width * s : 0
blurHeight: contentVisible ? modalContainer.height * s : 0
blurRadius: root.cornerRadius
}
@@ -414,7 +414,6 @@ Item {
visible: _renderActive
property bool _renderActive: contentVisible
property real publishedOpacity: contentVisible ? 1 : 0
property real publishedScale: contentVisible ? 1 : 0.96
opacity: contentVisible ? 1 : 0
@@ -426,15 +425,7 @@ Item {
easing.type: Easing.BezierSpline
duration: Theme.modalAnimationDuration
easing.bezierCurve: contentVisible ? Theme.expressiveCurves.expressiveDefaultSpatial : Theme.expressiveCurves.emphasized
}
}
Behavior on publishedOpacity {
NumberAnimation {
easing.type: Easing.BezierSpline
duration: Theme.modalAnimationDuration
easing.bezierCurve: contentVisible ? Theme.expressiveCurves.expressiveDefaultSpatial : Theme.expressiveCurves.emphasized
onRunningChanged: if (!running && modalContainer.publishedOpacity === 0)
onRunningChanged: if (!running && !root.contentVisible)
modalContainer._renderActive = false
}
}