X-Git-Url: https://git.quassel-irc.org/?p=quassel.git;a=blobdiff_plain;f=src%2Fclient%2Fclient.cpp;h=d29726343f51b5b3cede3055276664853675c289;hp=db60bcbc7ec42aa47ac298b7e89c5169b5afd5d8;hb=9950dd55446bedbccba1e7a27c4d042fb896d3c6;hpb=c7c0c7673942be376bbcab06dcc62b7f15e406a2 diff --git a/src/client/client.cpp b/src/client/client.cpp index db60bcbc..d2972634 100644 --- a/src/client/client.cpp +++ b/src/client/client.cpp @@ -454,50 +454,6 @@ void Client::receiveBacklog(BufferId bufferId, const QVariantList &msgs) { //qDebug() << "processed" << msgs.count() << "backlog lines in" << start.msecsTo(QTime::currentTime()); } -// TODO optimize checkForHighlight -void Client::checkForHighlight(Message &msg) { - if(!((msg.type() & (Message::Plain | Message::Notice | Message::Action)) && !(msg.flags() & Message::Self))) - return; - - NotificationSettings notificationSettings; - const Network *net = network(msg.bufferInfo().networkId()); - if(net && !net->myNick().isEmpty()) { - QStringList nickList; - if(notificationSettings.highlightNick() == NotificationSettings::CurrentNick) { - nickList << net->myNick(); - } else if(notificationSettings.highlightNick() == NotificationSettings::AllNicks) { - const Identity *myIdentity = identity(net->identity()); - if(myIdentity) - nickList = myIdentity->nicks(); - } - foreach(QString nickname, nickList) { - QRegExp nickRegExp("^(.*\\W)?" + QRegExp::escape(nickname) + "(\\W.*)?$"); - if(nickRegExp.exactMatch(msg.contents())) { - msg.setFlags(msg.flags() | Message::Highlight); - return; - } - } - - foreach(QVariant highlight, notificationSettings.highlightList()) { - QVariantMap highlightRule = highlight.toMap(); - if(!highlightRule["enable"].toBool()) - continue; - Qt::CaseSensitivity caseSensitivity = highlightRule["cs"].toBool() ? Qt::CaseSensitive : Qt::CaseInsensitive; - QString name = highlightRule["name"].toString(); - QRegExp userRegExp; - if(highlightRule["regex"].toBool()) { - userRegExp = QRegExp(name, caseSensitivity); - } else { - userRegExp = QRegExp("^(.*\\W)?" + QRegExp::escape(name) + "(\\W.*)?$", caseSensitivity); - } - if(userRegExp.exactMatch(msg.contents())) { - msg.setFlags(msg.flags() | Message::Highlight); - return; - } - } - } -} - void Client::updateLastSeenMsg(BufferId id, const MsgId &msgId) { Buffer *b = buffer(id); if(!b) {