X-Git-Url: https://git.quassel-irc.org/?a=blobdiff_plain;f=src%2Fclient%2Fclient.cpp;h=4d716ed044e653b3a1a74716aeb46a63a9def7b5;hb=2dd7667489021341267d316472d375e8c89c79c0;hp=1cd893920d0da921bc4c4ef501cb20c846aa7fcd;hpb=85583b32135dd4028edecef9029661dd11919150;p=quassel.git diff --git a/src/client/client.cpp b/src/client/client.cpp index 1cd89392..4d716ed0 100644 --- a/src/client/client.cpp +++ b/src/client/client.cpp @@ -76,12 +76,14 @@ void Client::init() { _networkModel = new NetworkModel(this); connect(this, SIGNAL(bufferUpdated(BufferInfo)), _networkModel, SLOT(bufferUpdated(BufferInfo))); + connect(this, SIGNAL(networkRemoved(NetworkId)), + _networkModel, SLOT(networkRemoved(NetworkId))); _bufferModel = new BufferModel(_networkModel); SignalProxy *p = signalProxy(); - p->attachSlot(SIGNAL(displayMsg(Message &)), this, SLOT(recvMessage(Message &))); + p->attachSlot(SIGNAL(displayMsg(const Message &)), this, SLOT(recvMessage(const Message &))); p->attachSlot(SIGNAL(displayStatusMsg(QString, QString)), this, SLOT(recvStatusMsg(QString, QString))); p->attachSlot(SIGNAL(backlogData(BufferInfo, const QVariantList &, bool)), this, SLOT(recvBacklogData(BufferInfo, const QVariantList &, bool))); @@ -379,7 +381,8 @@ void Client::networkDestroyed() { } } -void Client::recvMessage(Message &msg) { +void Client::recvMessage(const Message &message) { + Message msg = message; Buffer *b; if(msg.type() == Message::Error) { @@ -443,7 +446,7 @@ void Client::checkForHighlight(Message &msg) const { const Network *net = network(msg.bufferInfo().networkId()); if(net && !net->myNick().isEmpty()) { QRegExp nickRegExp("^(.*\\W)?" + QRegExp::escape(net->myNick()) + "(\\W.*)?$"); - if((msg.type() == Message::Plain || msg.type() == Message::Notice || msg.type() == Message::Action) && nickRegExp.exactMatch(msg.text())) + if((msg.type() & (Message::Plain | Message::Notice | Message::Action)) && nickRegExp.exactMatch(msg.text())) msg.setFlags(msg.flags() | Message::Highlight); } }