summary refs log tree commit diff
path: root/src/timeline/TimelineModel.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/timeline/TimelineModel.h')
-rw-r--r--src/timeline/TimelineModel.h21
1 files changed, 20 insertions, 1 deletions
diff --git a/src/timeline/TimelineModel.h b/src/timeline/TimelineModel.h

index 0e9ddb72..ea7eaffd 100644 --- a/src/timeline/TimelineModel.h +++ b/src/timeline/TimelineModel.h
@@ -126,6 +126,8 @@ class TimelineModel : public QAbstractListModel int currentIndex READ currentIndex WRITE setCurrentIndex NOTIFY currentIndexChanged) Q_PROPERTY(std::vector<QString> typingUsers READ typingUsers WRITE updateTypingUsers NOTIFY typingUsersChanged) + Q_PROPERTY(QString reaction READ reaction WRITE setReaction NOTIFY reactionChanged RESET + resetReaction) Q_PROPERTY(QString reply READ reply WRITE setReply NOTIFY replyChanged RESET resetReply) Q_PROPERTY( bool paginationInProgress READ paginationInProgress NOTIFY paginationInProgressChanged) @@ -188,6 +190,7 @@ public: Q_INVOKABLE void viewRawMessage(QString id) const; Q_INVOKABLE void viewDecryptedRawMessage(QString id) const; Q_INVOKABLE void openUserProfile(QString userid) const; + Q_INVOKABLE void reactAction(QString id); Q_INVOKABLE void replyAction(QString id); Q_INVOKABLE void readReceiptsAction(QString id) const; Q_INVOKABLE void redactEvent(QString id); @@ -216,7 +219,21 @@ public slots: } std::vector<QString> typingUsers() const { return typingUsers_; } bool paginationInProgress() const { return m_paginationInProgress; } - + QString reaction() const { return reaction_; } + void setReaction(QString reaction) + { + if (reaction_ != reaction) { + reaction_ = reaction; + emit reactionChanged(reaction_); + } + } + void resetReaction() + { + if (!reaction_.isEmpty()) { + reaction_ = ""; + emit reactionChanged(reaction_); + } + } QString reply() const { return reply_; } void setReply(QString newReply) { @@ -253,6 +270,7 @@ signals: void newEncryptedImage(mtx::crypto::EncryptedFile encryptionInfo); void eventFetched(QString requestingEvent, mtx::events::collections::TimelineEvents event); void typingUsersChanged(std::vector<QString> users); + void reactionChanged(QString reaction); void replyChanged(QString reply); void paginationInProgressChanged(const bool); @@ -286,6 +304,7 @@ private: bool m_paginationInProgress = false; QString currentId; + QString reaction_; QString reply_; std::vector<QString> typingUsers_;