Include current nick for highlight checking if "All nicks" is chosen
[quassel.git] / src / qtui / qtuimessageprocessor.cpp
index 3aa3acd..353928a 100644 (file)
@@ -56,8 +56,8 @@ void QtUiMessageProcessor::reset() {
 
 void QtUiMessageProcessor::process(Message &msg) {
   checkForHighlight(msg);
 
 void QtUiMessageProcessor::process(Message &msg) {
   checkForHighlight(msg);
+  preProcess(msg);
   Client::messageModel()->insertMessage(msg);
   Client::messageModel()->insertMessage(msg);
-  postProcess(msg);
 }
 
 void QtUiMessageProcessor::process(QList<Message> &msgs) {
 }
 
 void QtUiMessageProcessor::process(QList<Message> &msgs) {
@@ -65,7 +65,7 @@ void QtUiMessageProcessor::process(QList<Message> &msgs) {
   QList<Message>::iterator msgIterEnd = msgs.end();
   while(msgIter != msgIterEnd) {
     checkForHighlight(*msgIter);
   QList<Message>::iterator msgIterEnd = msgs.end();
   while(msgIter != msgIterEnd) {
     checkForHighlight(*msgIter);
-    postProcess(*msgIter);
+    preProcess(*msgIter);
     msgIter++;
   }
   Client::messageModel()->insertMessages(msgs);
     msgIter++;
   }
   Client::messageModel()->insertMessages(msgs);
@@ -115,6 +115,8 @@ void QtUiMessageProcessor::checkForHighlight(Message &msg) {
       const Identity *myIdentity = Client::identity(net->identity());
       if(myIdentity)
         nickList = myIdentity->nicks();
       const Identity *myIdentity = Client::identity(net->identity());
       if(myIdentity)
         nickList = myIdentity->nicks();
+      if(!nickList.contains(net->myNick()))
+        nickList.prepend(net->myNick());
     }
     foreach(QString nickname, nickList) {
       QRegExp nickRegExp("\\b" + QRegExp::escape(nickname) + "(\\W|\\b|$)", // + "\\b", this does not seem to work for trailing ` -> upstream bug?
     }
     foreach(QString nickname, nickList) {
       QRegExp nickRegExp("\\b" + QRegExp::escape(nickname) + "(\\W|\\b|$)", // + "\\b", this does not seem to work for trailing ` -> upstream bug?