From 531e91323869ef3b30afd0480b7bbe0f675c43d4 Mon Sep 17 00:00:00 2001 From: Damocles Date: Mon, 13 Apr 2026 09:05:02 +0200 Subject: [PATCH] notifications: right-click to fully dismiss in popup and center --- modules/NotifCenter.qml | 2 ++ modules/NotifPopup.qml | 17 ++++++++++------- 2 files changed, 12 insertions(+), 7 deletions(-) diff --git a/modules/NotifCenter.qml b/modules/NotifCenter.qml index 12eb862..2507d56 100644 --- a/modules/NotifCenter.qml +++ b/modules/NotifCenter.qml @@ -257,6 +257,8 @@ M.PopupPanel { anchors.fill: parent z: -1 hoverEnabled: true + acceptedButtons: Qt.RightButton + onClicked: _dismissAnim.start() } } } diff --git a/modules/NotifPopup.qml b/modules/NotifPopup.qml index 2473f47..f2fc884 100644 --- a/modules/NotifPopup.qml +++ b/modules/NotifPopup.qml @@ -210,6 +210,13 @@ PanelWindow { } } + property bool _fullDismiss: false + + function animateDismiss(full) { + _fullDismiss = !!full; + slideOut.start(); + } + ParallelAnimation { id: slideOut NumberAnimation { @@ -233,18 +240,14 @@ PanelWindow { duration: 200 easing.type: Easing.InCubic } - onFinished: M.NotifService.dismissPopup(popupItem.modelData.id) + onFinished: popupItem._fullDismiss ? M.NotifService.dismiss(popupItem.modelData.id) : M.NotifService.dismissPopup(popupItem.modelData.id) } - function animateDismiss() { - slideOut.start(); - } - - // Click to dismiss MouseArea { anchors.fill: parent z: -1 - onClicked: popupItem.animateDismiss() + acceptedButtons: Qt.LeftButton | Qt.RightButton + onClicked: mouse => popupItem.animateDismiss(mouse.button === Qt.RightButton) } } }