From 0c89b570ac5bd293fc68b0e22e4c8b172f2edf4a Mon Sep 17 00:00:00 2001 From: Damocles Date: Mon, 13 Apr 2026 15:49:07 +0200 Subject: [PATCH] fix dismiss-all cascade, fix notification timeout type mismatch --- modules/NotifCenter.qml | 18 +++++++++--------- modules/NotifService.qml | 2 +- 2 files changed, 10 insertions(+), 10 deletions(-) diff --git a/modules/NotifCenter.qml b/modules/NotifCenter.qml index 1c1e5eb..5ecabf2 100644 --- a/modules/NotifCenter.qml +++ b/modules/NotifCenter.qml @@ -69,13 +69,9 @@ M.PopupPanel { function _cascadeDismiss() { const dels = _delegates.filter(d => d && d.modelData && !d.modelData.closed); for (let i = 0; i < dels.length; i++) { - const d = dels[i]; - const delay = i * 60; - Qt.callLater(() => { - _cascadeTimer.createObject(menuWindow, { - _target: d, - _delay: delay - }); + _cascadeTimer.createObject(menuWindow, { + _target: dels[i], + _delay: i * 60 }); } } @@ -87,8 +83,8 @@ M.PopupPanel { interval: _delay running: true onTriggered: { - if (_target && _target._dismissAnim) - _target._dismissAnim.start(); + if (_target && _target.dismiss) + _target.dismiss(); destroy(); } } @@ -119,6 +115,10 @@ M.PopupPanel { readonly property real _targetHeight: notifContent.height + 12 property real _heightScale: 1 + function dismiss() { + _dismissAnim.start(); + } + Component.onCompleted: { menuWindow._delegates.push(notifItem); fadeIn.start(); diff --git a/modules/NotifService.qml b/modules/NotifService.qml index 130dbd7..8a92589 100644 --- a/modules/NotifService.qml +++ b/modules/NotifService.qml @@ -107,7 +107,7 @@ QtObject { property Component _expireTimer: Component { Timer { - property string _notifId + property var _notifId running: true onTriggered: { root.dismissPopup(_notifId);