X-Git-Url: https://git.quassel-irc.org/?p=quassel.git;a=blobdiff_plain;f=src%2Fcommon%2Fbuffersyncer.h;h=f847093dcef12a11a8d5c05bdcff7768b5fd4abe;hp=0ad8eaa014a0061d3e3fd1be54c59e40a5a73b48;hb=946e79e0243dda74433016060f12abc65883f243;hpb=9f9d207ecf28dd5470ecef9d4076a3f447662a20 diff --git a/src/common/buffersyncer.h b/src/common/buffersyncer.h index 0ad8eaa0..f847093d 100644 --- a/src/common/buffersyncer.h +++ b/src/common/buffersyncer.h @@ -1,5 +1,5 @@ /*************************************************************************** - * Copyright (C) 2005-08 by the Quassel IRC Team * + * Copyright (C) 2005-09 by the Quassel Project * * devel@quassel-irc.org * * * * This program is free software; you can redistribute it and/or modify * @@ -29,6 +29,9 @@ class BufferSyncer : public SyncableObject { 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; @@ -36,24 +39,35 @@ public slots: QVariantList initLastSeenMsg() const; void initSetLastSeenMsg(const QVariantList &); - void requestSetLastSeenMsg(BufferId buffer, const MsgId &msgId); - void requestRemoveBuffer(BufferId buffer); - void removeBuffer(BufferId buffer); - void renameBuffer(BufferId buffer, QString newName); + 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); signals: void lastSeenMsgSet(BufferId buffer, const MsgId &msgId); void setLastSeenMsgRequested(BufferId buffer, const MsgId &msgId); + void removeBufferRequested(BufferId buffer); void bufferRemoved(BufferId buffer); + + void renameBufferRequested(BufferId buffer, QString newName); void bufferRenamed(BufferId buffer, QString newName); -private slots: + void mergeBuffersPermanentlyRequested(BufferId buffer1, BufferId buffer2); + void buffersPermanentlyMerged(BufferId buffer1, BufferId buffer2); + +protected slots: bool setLastSeenMsg(BufferId buffer, const MsgId &msgId); private: QHash _lastSeenMsg; - }; #endif