From ce69856bfa48e5cd6087e9bb89f6ec480ae58b66 Mon Sep 17 00:00:00 2001 From: Matthieu Gallien Date: Mon, 13 Feb 2023 22:03:25 +0100 Subject: [PATCH] improve qml binding for more element of OCC::Activity Signed-off-by: Matthieu Gallien --- src/gui/tray/activitydata.h | 51 ++++++++++++++++++++++++++----------- 1 file changed, 36 insertions(+), 15 deletions(-) diff --git a/src/gui/tray/activitydata.h b/src/gui/tray/activitydata.h index 67dfe6f44..88a8948d3 100644 --- a/src/gui/tray/activitydata.h +++ b/src/gui/tray/activitydata.h @@ -80,6 +80,36 @@ public: QString _filename; }; +struct RichSubjectParameter { + Q_GADGET + Q_PROPERTY(QString type MEMBER type) + Q_PROPERTY(QString id MEMBER id) + Q_PROPERTY(QString name MEMBER name) + Q_PROPERTY(QString path MEMBER path) + Q_PROPERTY(QUrl link MEMBER link) + +public: + QString type; // Required + QString id; // Required + QString name; // Required + QString path; // Required (for files only) + QUrl link; // Optional (files only) +}; + +struct TalkNotificationData { + Q_GADGET + Q_PROPERTY(QString conversationToken MEMBER conversationToken) + Q_PROPERTY(QString messageId MEMBER messageId) + Q_PROPERTY(QString messageSent MEMBER messageSent) + Q_PROPERTY(QString userAvatar MEMBER userAvatar) + +public: + QString conversationToken; + QString messageId; + QString messageSent; + QString userAvatar; +}; + /* ==================================================================== */ /** * @brief Activity Structure @@ -87,9 +117,10 @@ public: * * contains all the information describing a single activity. */ - class Activity { + Q_GADGET + public: using Identifier = QPair; @@ -103,25 +134,15 @@ public: DummyMoreActivitiesAvailableType, }; + Q_ENUM(Type) + static Activity fromActivityJson(const QJsonObject &json, const AccountPtr account); static QString relativeServerFileTypeIconPath(const QMimeType &mimeType); static QString localFilePathForActivity(const Activity &activity, const AccountPtr account); - struct RichSubjectParameter { - QString type; // Required - QString id; // Required - QString name; // Required - QString path; // Required (for files only) - QUrl link; // Optional (files only) - }; - - struct TalkNotificationData { - QString conversationToken; - QString messageId; - QString messageSent; - QString userAvatar; - }; + using RichSubjectParameter = OCC::RichSubjectParameter; + using TalkNotificationData = OCC::TalkNotificationData; Type _type; qlonglong _id = 0LL; -- 2.30.2