Add activation support to rooms runner

This is needed to raise the window when activating the runner action on Wayland
This commit is contained in:
Nicolas Fella
2022-04-12 23:25:23 +02:00
committed by Tobias Fella
parent 3a4f71de7f
commit 945b27eca8
3 changed files with 7 additions and 2 deletions

View File

@@ -80,3 +80,4 @@ X-Plasma-DBusRunner-Service=org.kde.neochat
X-Plasma-DBusRunner-Path=/RoomRunner
X-Plasma-Request-Actions-Once=true
X-Plasma-Runner-Min-Letter-Count=3
X-Plasma-Runner-Has-Activation=true

View File

@@ -5,6 +5,8 @@
#include <QDBusMetaType>
#include <KWindowSystem>
#include "controller.h"
#include "neochatroom.h"
#include "roommanager.h"
@@ -80,10 +82,12 @@ RemoteMatches Runner::Match(const QString &searchTerm)
return matches;
}
void Runner::Run(const QString &id, const QString &actionId)
void Runner::Run(const QString &id, const QString &actionId, const QString &activationToken)
{
Q_UNUSED(actionId);
KWindowSystem::setCurrentXdgActivationToken(activationToken);
NeoChatRoom *room = qobject_cast<NeoChatRoom *>(Controller::instance().activeConnection()->room(id));
if (!room) {

View File

@@ -183,7 +183,7 @@ public:
/**
* @brief Handle action calls.
*/
Q_SCRIPTABLE void Run(const QString &id, const QString &actionId);
Q_SCRIPTABLE void Run(const QString &id, const QString &actionId, const QString &activationToken = QString());
private:
RemoteImage serializeImage(const QImage &image);