diff --git a/src/app/controller.cpp b/src/app/controller.cpp index 098aa53ff..d2d1fbfcf 100644 --- a/src/app/controller.cpp +++ b/src/app/controller.cpp @@ -318,8 +318,7 @@ void Controller::listenForNotifications() connect(timer, &QTimer::timeout, qGuiApp, &QGuiApplication::quit); connect(connector, &KUnifiedPush::Connector::messageReceived, [timer](const QByteArray &data) { - instance().m_notificationsManager.postPushNotification(data); - timer->stop(); + NotificationsManager::postPushNotification(data); }); // Wait five seconds to see if we received any messages or this happened to be an erroneous activation. diff --git a/src/app/notificationsmanager.cpp b/src/app/notificationsmanager.cpp index 06f3ea35f..920c72f8a 100644 --- a/src/app/notificationsmanager.cpp +++ b/src/app/notificationsmanager.cpp @@ -389,7 +389,7 @@ void NotificationsManager::postPushNotification(const QByteArray &message) #ifdef HAVE_KIO auto openAction = notification->addAction(i18n("Open NeoChat")); - connect(openAction, &KNotificationAction::activated, this, [=]() { + connect(openAction, &KNotificationAction::activated, notification, [=]() { QString properId = roomId; properId = properId.replace(u"#"_s, QString()); properId = properId.replace(u"!"_s, QString()); @@ -403,8 +403,6 @@ void NotificationsManager::postPushNotification(const QByteArray &message) connect(notification, &KNotification::closed, qGuiApp, &QGuiApplication::quit); notification->sendEvent(); - - m_notifications.insert(roomId, {json["ts"_L1].toVariant().toLongLong(), notification}); } else { qWarning() << "Skipping unsupported push notification" << type; } diff --git a/src/app/notificationsmanager.h b/src/app/notificationsmanager.h index 57e3f1fed..ab0a54592 100644 --- a/src/app/notificationsmanager.h +++ b/src/app/notificationsmanager.h @@ -53,7 +53,7 @@ public: /** * @brief Display a native notification for the given push notification. */ - void postPushNotification(const QByteArray &message); + static void postPushNotification(const QByteArray &message); /** * @brief Handle the notifications for the given connection.