X-Git-Url: https://git.quassel-irc.org/?p=quassel.git;a=blobdiff_plain;f=src%2Fcommon%2Fbuffersyncer.h;h=489318963105d98c45ea937c7710ca68d0cd0525;hp=40df958ccc443dbc31393d8d4a446fbbce5f04d4;hb=328b48e6fbd78d6158eb55296c0843fc5a41bcfa;hpb=558260f52de5a9b1364f5672ace17554efc10a74 diff --git a/src/common/buffersyncer.h b/src/common/buffersyncer.h index 40df958c..48931896 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 * @@ -25,6 +25,7 @@ #include "types.h" class BufferSyncer : public SyncableObject { + SYNCABLE_OBJECT Q_OBJECT public: @@ -39,32 +40,28 @@ 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 requestSetLastSeenMsg(BufferId buffer, const MsgId &msgId) { REQUEST(ARG(buffer), ARG(msgId)) } - virtual inline void requestRemoveBuffer(BufferId buffer) { emit removeBufferRequested(buffer); } + virtual inline void requestRemoveBuffer(BufferId buffer) { REQUEST(ARG(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 requestRenameBuffer(BufferId buffer, QString newName) { REQUEST(ARG(buffer), ARG(newName)) } + virtual inline void renameBuffer(BufferId buffer, QString newName) { SYNC(ARG(buffer), ARG(newName)) emit bufferRenamed(buffer, newName); } - virtual inline void requestMergeBuffersPermanently(BufferId buffer1, BufferId buffer2) { emit mergeBuffersPermanentlyRequested(buffer1, buffer2); } + virtual inline void requestMergeBuffersPermanently(BufferId buffer1, BufferId buffer2) { emit REQUEST(ARG(buffer1), ARG(buffer2)) } virtual void mergeBuffersPermanently(BufferId buffer1, BufferId buffer2); + virtual inline void requestPurgeBufferIds() { REQUEST(NO_ARG); } + 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); - - void mergeBuffersPermanentlyRequested(BufferId buffer1, BufferId buffer2); void buffersPermanentlyMerged(BufferId buffer1, BufferId buffer2); protected slots: bool setLastSeenMsg(BufferId buffer, const MsgId &msgId); + QList bufferIds() const { return _lastSeenMsg.keys(); } private: QHash _lastSeenMsg;