/***************************************************************************
- * Copyright (C) 2005-08 by the Quassel Project *
+ * Copyright (C) 2005-09 by the Quassel Project *
* devel@quassel-irc.org *
* *
* This program is free software; you can redistribute it and/or modify *
class CoreSession;
class CoreBufferSyncer : public BufferSyncer {
+ SYNCABLE_OBJECT
Q_OBJECT
public:
public slots:
virtual void requestSetLastSeenMsg(BufferId buffer, const MsgId &msgId);
+ virtual void requestSetMarkerLine(BufferId buffer, const MsgId &msgId);
virtual inline void requestRemoveBuffer(BufferId buffer) { removeBuffer(buffer); }
virtual void removeBuffer(BufferId bufferId);
virtual inline void requestMergeBuffersPermanently(BufferId buffer1, BufferId buffer2) { mergeBuffersPermanently(buffer1, buffer2); }
virtual void mergeBuffersPermanently(BufferId buffer1, BufferId buffer2);
+ virtual void requestPurgeBufferIds();
+
+ virtual inline void requestMarkBufferAsRead(BufferId buffer) { markBufferAsRead(buffer); }
+
void storeDirtyIds();
+protected:
+ virtual void customEvent(QEvent *event);
+
private:
CoreSession *_coreSession;
+ bool _purgeBuffers;
+
+ QSet<BufferId> dirtyLastSeenBuffers;
+ QSet<BufferId> dirtyMarkerLineBuffers;
- QSet<BufferId> dirtyBuffers;
+ void purgeBufferIds();
};
#endif //COREBUFFERSYNCER_H