X-Git-Url: https://git.quassel-irc.org/?a=blobdiff_plain;f=src%2Fcommon%2Fbuffersyncer.h;h=34d59c14164d09d046991381a5cf7ff403b9ef97;hb=ed8a0fbbe0ba28bd321950c45e7bb5cd9249df2e;hp=9faadfc60c0e230fbc9e451dd9a0908674323e28;hpb=fd16e241d2fd1f33f4625b3255956f025a67273b;p=quassel.git diff --git a/src/common/buffersyncer.h b/src/common/buffersyncer.h index 9faadfc6..34d59c14 100644 --- a/src/common/buffersyncer.h +++ b/src/common/buffersyncer.h @@ -40,6 +40,12 @@ public: MsgId markerLine(BufferId buffer) const; Message::Types activity(BufferId buffer) const; + void markActivitiesChanged() { + for (auto buffer : _bufferActivities.keys()) { + emit bufferActivityChanged(buffer, activity(buffer)); + } + } + public slots: QVariantList initLastSeenMsg() const; void initSetLastSeenMsg(const QVariantList &); @@ -53,9 +59,11 @@ public slots: virtual inline void requestSetLastSeenMsg(BufferId buffer, const MsgId &msgId) { REQUEST(ARG(buffer), ARG(msgId)) } virtual inline void requestSetMarkerLine(BufferId buffer, const MsgId &msgId) { REQUEST(ARG(buffer), ARG(msgId)) setMarkerLine(buffer, msgId); } - virtual inline void setBufferActivity(BufferId buffer, const int &activity) { + virtual inline void setBufferActivity(BufferId buffer, int activity) { + auto flags = Message::Types(activity); SYNC(ARG(buffer), ARG(activity)); - _bufferActivities[buffer] = Message::Types(activity); + _bufferActivities[buffer] = flags; + emit bufferActivityChanged(buffer, flags); } virtual inline void requestRemoveBuffer(BufferId buffer) { REQUEST(ARG(buffer)) } @@ -79,6 +87,7 @@ signals: void bufferRenamed(BufferId buffer, QString newName); void buffersPermanentlyMerged(BufferId buffer1, BufferId buffer2); void bufferMarkedAsRead(BufferId buffer); + void bufferActivityChanged(BufferId, Message::Types); protected slots: bool setLastSeenMsg(BufferId buffer, const MsgId &msgId);