/***************************************************************************
- * 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 *
#include "buffersyncer.h"
+INIT_SYNCABLE_OBJECT(BufferSyncer)
BufferSyncer::BufferSyncer(QObject *parent)
: SyncableObject(parent)
{
}
+BufferSyncer::BufferSyncer(const QHash<BufferId, MsgId> &lastSeenMsg, QObject *parent)
+ : SyncableObject(parent),
+ _lastSeenMsg(lastSeenMsg)
+{
+}
MsgId BufferSyncer::lastSeenMsg(BufferId buffer) const {
if(_lastSeenMsg.contains(buffer))
const MsgId oldLastSeenMsg = lastSeenMsg(buffer);
if(!oldLastSeenMsg.isValid() || oldLastSeenMsg < msgId) {
_lastSeenMsg[buffer] = msgId;
+ SYNC(ARG(buffer), ARG(msgId))
emit lastSeenMsgSet(buffer, msgId);
return true;
}
void BufferSyncer::removeBuffer(BufferId buffer) {
if(_lastSeenMsg.contains(buffer))
_lastSeenMsg.remove(buffer);
+ SYNC(ARG(buffer))
emit bufferRemoved(buffer);
}
-
void BufferSyncer::mergeBuffersPermanently(BufferId buffer1, BufferId buffer2) {
if(_lastSeenMsg.contains(buffer2))
_lastSeenMsg.remove(buffer2);
+ SYNC(ARG(buffer1), ARG(buffer2))
emit buffersPermanentlyMerged(buffer1, buffer2);
}