preventing refetching of backlog which was already pulled inwith the initial request
authorMarcus Eggenberger <egs@quassel-irc.org>
Thu, 26 Mar 2009 22:04:23 +0000 (23:04 +0100)
committerMarcus Eggenberger <egs@quassel-irc.org>
Thu, 26 Mar 2009 22:04:23 +0000 (23:04 +0100)
src/client/clientbacklogmanager.cpp
src/client/clientbacklogmanager.h

index 2b2c586..fc82d20 100644 (file)
@@ -35,6 +35,12 @@ ClientBacklogManager::ClientBacklogManager(QObject *parent)
 {
 }
 
+QVariantList ClientBacklogManager::requestBacklog(BufferId bufferId, MsgId first, MsgId last, int limit, int additional) {
+  _buffersRequested << bufferId;
+  qDebug() << _buffersRequested;
+  return BacklogManager::requestBacklog(bufferId, first, last, limit, additional);
+}
+
 void ClientBacklogManager::receiveBacklog(BufferId bufferId, MsgId first, MsgId last, int limit, int additional, QVariantList msgs) {
   Q_UNUSED(first) Q_UNUSED(last) Q_UNUSED(limit) Q_UNUSED(additional)
 
@@ -102,7 +108,6 @@ BufferIdList ClientBacklogManager::filterNewBufferIds(const BufferIdList &buffer
     if(!_buffersRequested.contains(bufferId))
       newBuffers << bufferId;
   }
-  _buffersRequested += bufferIds.toSet();
   return newBuffers;
 }
 
index 5f1e1cd..1c9f6dd 100644 (file)
@@ -38,6 +38,7 @@ public:
   void reset();
 
 public slots:
+  virtual QVariantList requestBacklog(BufferId bufferId, MsgId first = -1, MsgId last = -1, int limit = -1, int additional = 0);
   virtual void receiveBacklog(BufferId bufferId, MsgId first, MsgId last, int limit, int additional, QVariantList msgs);
   virtual void receiveBacklogAll(MsgId first, MsgId last, int limit, int additional, QVariantList msgs);