diff --git a/src/service/dbus/appearancedbusproxy.cpp b/src/service/dbus/appearancedbusproxy.cpp index 3a66f18..4558b5a 100644 --- a/src/service/dbus/appearancedbusproxy.cpp +++ b/src/service/dbus/appearancedbusproxy.cpp @@ -1,4 +1,4 @@ -// SPDX-FileCopyrightText: 2021 - 2023 UnionTech Software Technology Co., Ltd. +// SPDX-FileCopyrightText: 2021 - 2026 UnionTech Software Technology Co., Ltd. // // SPDX-License-Identifier: GPL-3.0-or-later @@ -32,6 +32,7 @@ AppearanceDBusProxy::AppearanceDBusProxy(QObject *parent) QDBusConnection::sessionBus().connect("org.deepin.dde.XSettings1","/org/deepin/dde/XSettings1","org.deepin.dde.XSettings1","SetScaleFactorDone",this,SIGNAL(SetScaleFactorDone())); QDBusConnection::sessionBus().connect("org.deepin.dde.Display1", "/org/deepin/dde/Display1", "org.freedesktop.DBus.Properties","PropertiesChanged", this, SLOT(onDisplayPropertiesChanged(QDBusMessage))); + QDBusConnection::sessionBus().connect("org.freedesktop.Notifications", "/org/freedesktop/Notifications", "org.freedesktop.Notifications", "NotificationClosed", this, SLOT(onNotificationClosed(uint, uint))); } void AppearanceDBusProxy::setUserInterface(const QString &userPath) @@ -294,3 +295,11 @@ void AppearanceDBusProxy::onDisplayPropertiesChanged(const QDBusMessage &message } } } + +void AppearanceDBusProxy::onNotificationClosed(uint id, uint reason) +{ + Q_UNUSED(reason) + // reset m_nid after notification closure + if (id == m_nid) + m_nid = 0; +} diff --git a/src/service/dbus/appearancedbusproxy.h b/src/service/dbus/appearancedbusproxy.h index f98ce84..351cd92 100644 --- a/src/service/dbus/appearancedbusproxy.h +++ b/src/service/dbus/appearancedbusproxy.h @@ -1,4 +1,4 @@ -// SPDX-FileCopyrightText: 2021 - 2023 UnionTech Software Technology Co., Ltd. +// SPDX-FileCopyrightText: 2021 - 2026 UnionTech Software Technology Co., Ltd. // // SPDX-License-Identifier: GPL-3.0-or-later @@ -130,6 +130,7 @@ public Q_SLOTS: private Q_SLOTS: void onDisplayPropertiesChanged(const QDBusMessage &message); + void onNotificationClosed(uint, uint); private: DDBusInterface *m_wmInterface;