X-Git-Url: https://git.quassel-irc.org/?p=quassel.git;a=blobdiff_plain;f=src%2Fclient%2Fbacklogrequester.cpp;h=4a6524cca092b73905d433b8f02948fc24059f43;hp=1100784be459d688e7f0e971fcbe449ddca280f1;hb=cf0e5a5e8d6b27cd377b594a4342a7b493f815b0;hpb=92f256c9ef102ef5af61164bb17b63e501510541 diff --git a/src/client/backlogrequester.cpp b/src/client/backlogrequester.cpp index 1100784b..4a6524cc 100644 --- a/src/client/backlogrequester.cpp +++ b/src/client/backlogrequester.cpp @@ -51,12 +51,22 @@ bool BacklogRequester::buffer(BufferId bufferId, const MessageList &messages) { return !_buffersWaiting.isEmpty(); } -QList BacklogRequester::allBufferIds() const { +BufferIdList BacklogRequester::allBufferIds() const { QSet bufferIds = Client::bufferViewOverlay()->bufferIds(); bufferIds += Client::bufferViewOverlay()->tempRemovedBufferIds(); return bufferIds.toList(); } +void BacklogRequester::flushBuffer() { + if(!_buffersWaiting.isEmpty()) { + qWarning() << Q_FUNC_INFO << "was called before all backlog was received:" + << _buffersWaiting.count() << "buffers are waiting."; + } + _bufferedMessages.clear(); + _totalBuffers = 0; + _buffersWaiting.clear(); +} + // ======================================== // FIXED BACKLOG REQUESTER // ======================================== @@ -67,7 +77,7 @@ FixedBacklogRequester::FixedBacklogRequester(ClientBacklogManager *backlogManage _backlogCount = backlogSettings.fixedBacklogAmount(); } -void FixedBacklogRequester::requestBacklog(const QList &bufferIds) { +void FixedBacklogRequester::requestBacklog(const BufferIdList &bufferIds) { setWaitingBuffers(bufferIds); backlogManager->emitMessagesRequested(QObject::tr("Requesting a total of up to %1 backlog messages for %2 buffers").arg(_backlogCount * bufferIds.count()).arg(bufferIds.count())); foreach(BufferId bufferId, bufferIds) { @@ -86,7 +96,7 @@ GlobalUnreadBacklogRequester::GlobalUnreadBacklogRequester(ClientBacklogManager _additional = backlogSettings.globalUnreadBacklogAdditional(); } -void GlobalUnreadBacklogRequester::requestBacklog() { +void GlobalUnreadBacklogRequester::requestInitialBacklog() { MsgId oldestUnreadMessage; foreach(BufferId bufferId, allBufferIds()) { MsgId msgId = Client::networkModel()->lastSeenMsgId(bufferId); @@ -108,7 +118,7 @@ PerBufferUnreadBacklogRequester::PerBufferUnreadBacklogRequester(ClientBacklogMa _additional = backlogSettings.perBufferUnreadBacklogAdditional(); } -void PerBufferUnreadBacklogRequester::requestBacklog(const QList &bufferIds) { +void PerBufferUnreadBacklogRequester::requestBacklog(const BufferIdList &bufferIds) { setWaitingBuffers(bufferIds); backlogManager->emitMessagesRequested(QObject::tr("Requesting a total of up to %1 unread backlog messages for %2 buffers").arg((_limit + _additional) * bufferIds.count()).arg(bufferIds.count())); foreach(BufferId bufferId, bufferIds) {