X-Git-Url: https://git.quassel-irc.org/?p=quassel.git;a=blobdiff_plain;f=src%2Fcommon%2Fbuffersyncer.h;h=40df958ccc443dbc31393d8d4a446fbbce5f04d4;hp=785c2be498de4408aad14f30248ce0254a3fc24b;hb=558260f52de5a9b1364f5672ace17554efc10a74;hpb=8010224cf5bfe5685dc2cf535e8dc1ec19c4c364 diff --git a/src/common/buffersyncer.h b/src/common/buffersyncer.h index 785c2be4..40df958c 100644 --- a/src/common/buffersyncer.h +++ b/src/common/buffersyncer.h @@ -21,34 +21,53 @@ #ifndef BUFFERSYNCER_H_ #define BUFFERSYNCER_H_ -#include - #include "syncableobject.h" #include "types.h" class BufferSyncer : public SyncableObject { Q_OBJECT - public: - explicit BufferSyncer(QObject *parent); +public: + explicit BufferSyncer(QObject *parent); + explicit BufferSyncer(const QHash &lastSeenMsg, QObject *parent); + + inline virtual const QMetaObject *syncMetaObject() const { return &staticMetaObject; } + + MsgId lastSeenMsg(BufferId buffer) const; + +public slots: + QVariantList initLastSeenMsg() const; + void initSetLastSeenMsg(const QVariantList &); + + virtual inline void requestSetLastSeenMsg(BufferId buffer, const MsgId &msgId) { emit setLastSeenMsgRequested(buffer, msgId); } + + virtual inline void requestRemoveBuffer(BufferId buffer) { emit removeBufferRequested(buffer); } + virtual void removeBuffer(BufferId buffer); + + virtual inline void requestRenameBuffer(BufferId buffer, QString newName) { emit renameBufferRequested(buffer, newName); } + virtual inline void renameBuffer(BufferId buffer, QString newName) { emit bufferRenamed(buffer, newName); } + + virtual inline void requestMergeBuffersPermanently(BufferId buffer1, BufferId buffer2) { emit mergeBuffersPermanentlyRequested(buffer1, buffer2); } + virtual void mergeBuffersPermanently(BufferId buffer1, BufferId buffer2); - QDateTime lastSeen(BufferId buffer) const; +signals: + void lastSeenMsgSet(BufferId buffer, const MsgId &msgId); + void setLastSeenMsgRequested(BufferId buffer, const MsgId &msgId); - public slots: - QVariantList initLastSeen() const; - void initSetLastSeen(const QVariantList &); + void removeBufferRequested(BufferId buffer); + void bufferRemoved(BufferId buffer); - void requestSetLastSeen(BufferId buffer, const QDateTime &time); + void renameBufferRequested(BufferId buffer, QString newName); + void bufferRenamed(BufferId buffer, QString newName); - signals: - void lastSeenSet(BufferId buffer, const QDateTime &time); - void setLastSeenRequested(BufferId buffer, const QDateTime &time); + void mergeBuffersPermanentlyRequested(BufferId buffer1, BufferId buffer2); + void buffersPermanentlyMerged(BufferId buffer1, BufferId buffer2); - private slots: - bool setLastSeen(BufferId buffer, const QDateTime &time); +protected slots: + bool setLastSeenMsg(BufferId buffer, const MsgId &msgId); - private: - QMap _lastSeen; +private: + QHash _lastSeenMsg; }; #endif