X-Git-Url: https://git.quassel-irc.org/?p=quassel.git;a=blobdiff_plain;f=src%2Fclient%2Fclient.cpp;h=db60bcbc7ec42aa47ac298b7e89c5169b5afd5d8;hp=f9665c6c3ab17362e057d74b8e92473819cb0a22;hb=c7c0c7673942be376bbcab06dcc62b7f15e406a2;hpb=efa00e5a912c34c37bcc6dad7b8bc6e3a6f3e4fb diff --git a/src/client/client.cpp b/src/client/client.cpp index f9665c6c..db60bcbc 100644 --- a/src/client/client.cpp +++ b/src/client/client.cpp @@ -20,6 +20,7 @@ #include "client.h" +#include "abstractmessageprocessor.h" #include "bufferinfo.h" #include "buffermodel.h" #include "buffersettings.h" @@ -72,6 +73,7 @@ Client::Client(QObject *parent) _bufferViewManager(0), _ircListHelper(new ClientIrcListHelper(this)), _messageModel(0), + _messageProcessor(0), _connectedToCore(false), _syncedToCore(false) { @@ -97,6 +99,7 @@ void Client::init() { _bufferModel = new BufferModel(_networkModel); _messageModel = mainUi->createMessageModel(this); + _messageProcessor = mainUi->createMessageProcessor(this); SignalProxy *p = signalProxy(); @@ -431,25 +434,23 @@ void Client::networkDestroyed() { } } -void Client::recvMessage(const Message &msg_) { - Message msg = msg_; - checkForHighlight(msg); - _messageModel->insertMessage(msg); - buffer(msg.bufferInfo())->updateActivityLevel(msg); -} - +// Hmm... we never used this... void Client::recvStatusMsg(QString /*net*/, QString /*msg*/) { //recvMessage(net, Message::server("", QString("[STATUS] %1").arg(msg))); } +void Client::recvMessage(const Message &msg_) { + Message msg = msg_; + messageProcessor()->process(msg); +} + void Client::receiveBacklog(BufferId bufferId, const QVariantList &msgs) { //QTime start = QTime::currentTime(); + QList msglist; foreach(QVariant v, msgs) { - Message msg = v.value(); - checkForHighlight(msg); - _messageModel->insertMessage(msg); - buffer(msg.bufferInfo())->updateActivityLevel(msg); + msglist << v.value(); } + messageProcessor()->process(msglist); //qDebug() << "processed" << msgs.count() << "backlog lines in" << start.msecsTo(QTime::currentTime()); }