You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
81 lines
1.9 KiB
81 lines
1.9 KiB
#pragma once |
|
|
|
#include <KRunner/QueryMatch> |
|
#include <QDBusArgument> |
|
#include <QList> |
|
#include <QString> |
|
#include <QVariantMap> |
|
|
|
struct RemoteMatch { |
|
// sssuda{sv} |
|
QString id; |
|
QString text; |
|
QString iconName; |
|
Plasma::QueryMatch::Type type = Plasma::QueryMatch::NoMatch; |
|
qreal relevance = 0; |
|
QVariantMap properties; |
|
}; |
|
|
|
typedef QList<RemoteMatch> RemoteMatches; |
|
|
|
struct RemoteAction { |
|
QString id; |
|
QString text; |
|
QString iconName; |
|
}; |
|
|
|
typedef QList<RemoteAction> RemoteActions; |
|
|
|
inline QDBusArgument &operator<<(QDBusArgument &argument, const RemoteMatch &match) |
|
{ |
|
argument.beginStructure(); |
|
argument << match.id; |
|
argument << match.text; |
|
argument << match.iconName; |
|
argument << match.type; |
|
argument << match.relevance; |
|
argument << match.properties; |
|
argument.endStructure(); |
|
return argument; |
|
} |
|
|
|
inline const QDBusArgument &operator>>(const QDBusArgument &argument, RemoteMatch &match) |
|
{ |
|
argument.beginStructure(); |
|
argument >> match.id; |
|
argument >> match.text; |
|
argument >> match.iconName; |
|
uint type; |
|
argument >> type; |
|
match.type = (Plasma::QueryMatch::Type)type; |
|
argument >> match.relevance; |
|
argument >> match.properties; |
|
argument.endStructure(); |
|
|
|
return argument; |
|
} |
|
|
|
inline QDBusArgument &operator<<(QDBusArgument &argument, const RemoteAction &action) |
|
{ |
|
argument.beginStructure(); |
|
argument << action.id; |
|
argument << action.text; |
|
argument << action.iconName; |
|
argument.endStructure(); |
|
return argument; |
|
} |
|
|
|
inline const QDBusArgument &operator>>(const QDBusArgument &argument, RemoteAction &action) |
|
{ |
|
argument.beginStructure(); |
|
argument >> action.id; |
|
argument >> action.text; |
|
argument >> action.iconName; |
|
argument.endStructure(); |
|
return argument; |
|
} |
|
|
|
Q_DECLARE_METATYPE(RemoteMatch) |
|
Q_DECLARE_METATYPE(RemoteMatches) |
|
Q_DECLARE_METATYPE(RemoteAction) |
|
Q_DECLARE_METATYPE(RemoteActions)
|
|
|