- MessageTypes are now binary exclusive which allows easy checks with multimple condi...
[quassel.git] / src / client / client.cpp
index b80942a..4d716ed 100644 (file)
@@ -76,6 +76,8 @@ 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);
 
@@ -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);
   }
 }