Skip to content
Snippets Groups Projects
Verified Commit b16b52b4 authored by Nicolas Werner's avatar Nicolas Werner
Browse files

Support activation tokens for notifications

parent 234e05ee
No related branches found
No related tags found
No related merge requests found
Pipeline #5307 passed
......@@ -101,6 +101,7 @@ private:
// but Qt slot declarations can not be inside an ifdef!
private slots:
void actionInvoked(uint id, QString action);
void activationToken(uint id, QString action);
void notificationClosed(uint id, uint reason);
void notificationReplied(uint id, QString reply);
......
......@@ -22,6 +22,7 @@
#include "Cache.h"
#include "EventAccessors.h"
#include "Logging.h"
#include "MxcImageProvider.h"
#include "UserSettingsPage.h"
#include "Utils.h"
......@@ -58,6 +59,12 @@ NotificationsManager::NotificationsManager(QObject *parent)
QStringLiteral("ActionInvoked"),
this,
SLOT(actionInvoked(uint,QString)));
QDBusConnection::sessionBus().connect(QStringLiteral("org.freedesktop.Notifications"),
QStringLiteral("/org/freedesktop/Notifications"),
QStringLiteral("org.freedesktop.Notifications"),
QStringLiteral("ActivationToken"),
this,
SLOT(activationToken(uint,QString)));
QDBusConnection::sessionBus().connect(QStringLiteral("org.freedesktop.Notifications"),
QStringLiteral("/org/freedesktop/Notifications"),
QStringLiteral("org.freedesktop.Notifications"),
......@@ -256,6 +263,14 @@ NotificationsManager::actionInvoked(uint id, QString action)
}
}
// receive a wayland activation token from the notification manager
void
NotificationsManager::activationToken(uint, QString action)
{
nhlog::net()->debug("Got activation token for notification");
qputenv("XDG_ACTIVATION_TOKEN", action.toUtf8());
}
void
NotificationsManager::notificationReplied(uint id, QString reply)
{
......
......@@ -182,6 +182,8 @@ void NotificationsManager::attachToMacNotifCenter()
// unused
void NotificationsManager::actionInvoked(uint, QString) { }
void NotificationsManager::activationToken(uint, QString) { }
void NotificationsManager::notificationReplied(uint, QString) { }
void NotificationsManager::notificationClosed(uint, uint) { }
......
......@@ -95,6 +95,10 @@ void
NotificationsManager::actionInvoked(uint, QString)
{}
void
NotificationsManager::activationToken(uint, QString)
{}
void
NotificationsManager::notificationReplied(uint, QString)
{}
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment