X-Git-Url: https://git.quassel-irc.org/?a=blobdiff_plain;f=src%2Fclient%2Fclient.cpp;h=6cd94c14474c772a030513088eaa90478a6a7e56;hb=78b9ceaa30c504f2a606eaa4502f1d4cff556d31;hp=58058871bc790071e8addd36bce645aef5704864;hpb=68878dc8366f2f4a0afe132847aad9a51a80cdbf;p=quassel.git diff --git a/src/client/client.cpp b/src/client/client.cpp index 58058871..6cd94c14 100644 --- a/src/client/client.cpp +++ b/src/client/client.cpp @@ -101,6 +101,7 @@ Client::Client(QObject *parent) _backlogManager(new ClientBacklogManager(this)), _bufferViewManager(0), _bufferViewOverlay(new BufferViewOverlay(this)), + _coreInfo(nullptr), _dccConfig(0), _ircListHelper(new ClientIrcListHelper(this)), _inputHandler(0), @@ -205,6 +206,12 @@ bool Client::internalCore() } +void Client::onDbUpgradeInProgress(bool inProgress) +{ + emit dbUpgradeInProgress(inProgress); +} + + /*** Network handling ***/ QList Client::networkIds() @@ -394,11 +401,17 @@ void Client::setSyncedToCore() connect(bufferSyncer(), SIGNAL(buffersPermanentlyMerged(BufferId, BufferId)), _messageModel, SLOT(buffersPermanentlyMerged(BufferId, BufferId))); connect(bufferSyncer(), SIGNAL(bufferMarkedAsRead(BufferId)), SIGNAL(bufferMarkedAsRead(BufferId))); connect(bufferSyncer(), SIGNAL(bufferActivityChanged(BufferId, const Message::Types)), _networkModel, SLOT(bufferActivityChanged(BufferId, const Message::Types))); + connect(bufferSyncer(), SIGNAL(highlightCountChanged(BufferId, int)), _networkModel, SLOT(highlightCountChanged(BufferId, int))); connect(networkModel(), SIGNAL(requestSetLastSeenMsg(BufferId, MsgId)), bufferSyncer(), SLOT(requestSetLastSeenMsg(BufferId, const MsgId &))); SignalProxy *p = signalProxy(); p->synchronize(bufferSyncer()); + // create CoreInfo + Q_ASSERT(!_coreInfo); + _coreInfo = new CoreInfo(this); + p->synchronize(coreInfo()); + // create a new BufferViewManager Q_ASSERT(!_bufferViewManager); _bufferViewManager = new ClientBufferViewManager(p, this); @@ -460,8 +473,10 @@ void Client::finishConnectionInitialization() disconnect(bufferSyncer(), SIGNAL(initDone()), this, SLOT(finishConnectionInitialization())); requestInitialBacklog(); - if (isCoreFeatureEnabled(Quassel::Feature::BufferActivitySync)) + if (isCoreFeatureEnabled(Quassel::Feature::BufferActivitySync)) { bufferSyncer()->markActivitiesChanged(); + bufferSyncer()->markHighlightCountsChanged(); + } } @@ -497,6 +512,11 @@ void Client::setDisconnectedFromCore() _bufferSyncer = 0; } + if (_coreInfo) { + _coreInfo->deleteLater(); + _coreInfo = nullptr; + } + if (_bufferViewManager) { _bufferViewManager->deleteLater(); _bufferViewManager = 0;