X-Git-Url: https://git.quassel-irc.org/?a=blobdiff_plain;f=src%2Fclient%2Fbacklogrequester.cpp;h=3f5765e3805b0a5bd632fb5317c450947d6289e2;hb=db00831bca59a012242d1ad5fac52a20c6cd2956;hp=4a1e2863ece86a98acb0b144b52d915f2d7e35bd;hpb=921e54680da16fcf2adb7a90506875aceb6633a4;p=quassel.git diff --git a/src/client/backlogrequester.cpp b/src/client/backlogrequester.cpp index 4a1e2863..3f5765e3 100644 --- a/src/client/backlogrequester.cpp +++ b/src/client/backlogrequester.cpp @@ -1,5 +1,5 @@ /*************************************************************************** - * Copyright (C) 2005-2015 by the Quassel Project * + * Copyright (C) 2005-2018 by the Quassel Project * * devel@quassel-irc.org * * * * This program is free software; you can redistribute it and/or modify * @@ -26,38 +26,34 @@ #include "bufferviewoverlay.h" #include "clientbacklogmanager.h" -BacklogRequester::BacklogRequester(bool buffering, RequesterType requesterType, ClientBacklogManager *backlogManager) - : backlogManager(backlogManager), - _isBuffering(buffering), - _requesterType(requesterType), - _totalBuffers(0) +BacklogRequester::BacklogRequester(bool buffering, RequesterType requesterType, ClientBacklogManager* backlogManager) + : backlogManager(backlogManager) + , _isBuffering(buffering) + , _requesterType(requesterType) + , _totalBuffers(0) { Q_ASSERT(backlogManager); } - -void BacklogRequester::setWaitingBuffers(const QSet &buffers) +void BacklogRequester::setWaitingBuffers(const QSet& buffers) { _buffersWaiting = buffers; _totalBuffers = _buffersWaiting.count(); } - void BacklogRequester::addWaitingBuffer(BufferId buffer) { _buffersWaiting << buffer; _totalBuffers++; } - -bool BacklogRequester::buffer(BufferId bufferId, const MessageList &messages) +bool BacklogRequester::buffer(BufferId bufferId, const MessageList& messages) { _bufferedMessages << messages; _buffersWaiting.remove(bufferId); return !_buffersWaiting.isEmpty(); } - BufferIdList BacklogRequester::allBufferIds() const { QSet bufferIds = Client::bufferViewOverlay()->bufferIds(); @@ -65,44 +61,41 @@ BufferIdList BacklogRequester::allBufferIds() const 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."; + 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 // ======================================== -FixedBacklogRequester::FixedBacklogRequester(ClientBacklogManager *backlogManager) +FixedBacklogRequester::FixedBacklogRequester(ClientBacklogManager* backlogManager) : BacklogRequester(true, BacklogRequester::PerBufferFixed, backlogManager) { BacklogSettings backlogSettings; _backlogCount = backlogSettings.fixedBacklogAmount(); } - -void FixedBacklogRequester::requestBacklog(const BufferIdList &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) { + 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) { backlogManager->requestBacklog(bufferId, -1, -1, _backlogCount); } } - // ======================================== // GLOBAL UNREAD BACKLOG REQUESTER // ======================================== -GlobalUnreadBacklogRequester::GlobalUnreadBacklogRequester(ClientBacklogManager *backlogManager) +GlobalUnreadBacklogRequester::GlobalUnreadBacklogRequester(ClientBacklogManager* backlogManager) : BacklogRequester(false, BacklogRequester::GlobalUnread, backlogManager) { BacklogSettings backlogSettings; @@ -110,24 +103,23 @@ GlobalUnreadBacklogRequester::GlobalUnreadBacklogRequester(ClientBacklogManager _additional = backlogSettings.globalUnreadBacklogAdditional(); } - void GlobalUnreadBacklogRequester::requestInitialBacklog() { MsgId oldestUnreadMessage; - foreach(BufferId bufferId, allBufferIds()) { + foreach (BufferId bufferId, allBufferIds()) { MsgId msgId = Client::networkModel()->lastSeenMsgId(bufferId); if (!oldestUnreadMessage.isValid() || oldestUnreadMessage > msgId) oldestUnreadMessage = msgId; } - backlogManager->emitMessagesRequested(QObject::tr("Requesting up to %1 of all unread backlog messages (plus additional %2)").arg(_limit).arg(_additional)); + backlogManager->emitMessagesRequested( + QObject::tr("Requesting up to %1 of all unread backlog messages (plus additional %2)").arg(_limit).arg(_additional)); backlogManager->requestBacklogAll(oldestUnreadMessage, -1, _limit, _additional); } - // ======================================== // PER BUFFER UNREAD BACKLOG REQUESTER // ======================================== -PerBufferUnreadBacklogRequester::PerBufferUnreadBacklogRequester(ClientBacklogManager *backlogManager) +PerBufferUnreadBacklogRequester::PerBufferUnreadBacklogRequester(ClientBacklogManager* backlogManager) : BacklogRequester(true, BacklogRequester::PerBufferUnread, backlogManager) { BacklogSettings backlogSettings; @@ -135,12 +127,13 @@ PerBufferUnreadBacklogRequester::PerBufferUnreadBacklogRequester(ClientBacklogMa _additional = backlogSettings.perBufferUnreadBacklogAdditional(); } - -void PerBufferUnreadBacklogRequester::requestBacklog(const BufferIdList &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) { + 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) { backlogManager->requestBacklog(bufferId, Client::networkModel()->lastSeenMsgId(bufferId), -1, _limit, _additional); } }