Strip format codes when checking for highlights
[quassel.git] / src / qtui / qtuimessageprocessor.cpp
index 68690f8..0d71a94 100644 (file)
@@ -70,7 +70,7 @@ void QtUiMessageProcessor::process(QList<Message> &msgs)
     while (msgIter != msgIterEnd) {
         checkForHighlight(*msgIter);
         preProcess(*msgIter);
-        msgIter++;
+        ++msgIter;
     }
     Client::messageModel()->insertMessages(msgs);
     return;
@@ -130,7 +130,7 @@ void QtUiMessageProcessor::checkForHighlight(Message &msg)
         }
         foreach(QString nickname, nickList) {
             QRegExp nickRegExp("(^|\\W)" + QRegExp::escape(nickname) + "(\\W|$)", _nicksCaseSensitive ? Qt::CaseSensitive : Qt::CaseInsensitive);
-            if (nickRegExp.indexIn(msg.contents()) >= 0) {
+            if (nickRegExp.indexIn(stripFormatCodes(msg.contents())) >= 0) {
                 msg.setFlags(msg.flags() | Message::Highlight);
                 return;
             }
@@ -161,7 +161,7 @@ void QtUiMessageProcessor::checkForHighlight(Message &msg)
             else {
                 rx = QRegExp("(^|\\W)" + QRegExp::escape(rule.name) + "(\\W|$)", rule.caseSensitive ? Qt::CaseSensitive : Qt::CaseInsensitive);
             }
-            bool match = (rx.indexIn(msg.contents()) >= 0);
+            bool match = (rx.indexIn(stripFormatCodes(msg.contents())) >= 0);
             if (match) {
                 msg.setFlags(msg.flags() | Message::Highlight);
                 return;
@@ -190,7 +190,7 @@ void QtUiMessageProcessor::highlightListChanged(const QVariant &variant)
             rule["CS"].toBool() ? Qt::CaseSensitive : Qt::CaseInsensitive,
             rule["RegEx"].toBool(),
             rule["Channel"].toString());
-        iter++;
+        ++iter;
     }
 }