X-Git-Url: https://git.quassel-irc.org/?a=blobdiff_plain;f=src%2Fclient%2Fclient.cpp;h=7d4aeff44ba484f410593d6721bd225cf22a2c83;hb=109e990662d25b98e5d5a159c4cad7c93e56b2fe;hp=1c4b446e48e4032c4f2d44b6d648174b09a8310a;hpb=76a276c472cb99032e2407d8e4bc2f2d693e8e67;p=quassel.git diff --git a/src/client/client.cpp b/src/client/client.cpp index 1c4b446e..7d4aeff4 100644 --- a/src/client/client.cpp +++ b/src/client/client.cpp @@ -23,6 +23,7 @@ #include "bufferinfo.h" #include "buffersyncer.h" #include "clientbacklogmanager.h" +#include "bufferviewmanager.h" #include "global.h" #include "identity.h" #include "ircchannel.h" @@ -66,6 +67,7 @@ Client::Client(QObject *parent) _bufferModel(0), _bufferSyncer(0), _backlogManager(new ClientBacklogManager(this)), + _bufferViewManager(0), _connectedToCore(false), _syncedToCore(false) { @@ -307,6 +309,9 @@ void Client::setSyncedToCore() { // attach backlog manager signalProxy()->synchronize(backlogManager()); + + // create a new BufferViewManager + _bufferViewManager = new BufferViewManager(signalProxy(), this); _syncedToCore = true; emit connected(); @@ -332,6 +337,12 @@ void Client::disconnectFromCore() { _bufferSyncer->deleteLater(); _bufferSyncer = 0; } + + if(_bufferViewManager) { + _bufferViewManager->deleteLater(); + _bufferViewManager = 0; + } + _networkModel->clear(); QHash::iterator bufferIter = _buffers.begin(); @@ -498,6 +509,7 @@ void Client::receiveBacklog(BufferId bufferId, const QVariantList &msgs) { Message msg; while(msgIter != msgIterEnd) { msg = (*msgIter).value(); + checkForHighlight(msg); buffer_->prependMsg(msg); msgIter++; }