X-Git-Url: https://git.quassel-irc.org/?p=quassel.git;a=blobdiff_plain;f=src%2Fclient%2Fclient.cpp;h=c90bcf6c436c4add57262179d491f8a149dde511;hp=3326b79d508bb74140b2c0bcdcffc47afdd38720;hb=87828aeae2510b29619aa79a3bd76885e2c1ebd4;hpb=1f7cffc751c022ddea816db471f7870a60dc0d1c diff --git a/src/client/client.cpp b/src/client/client.cpp index 3326b79d..c90bcf6c 100644 --- a/src/client/client.cpp +++ b/src/client/client.cpp @@ -297,7 +297,7 @@ void Client::setSyncedToCore() { // create buffersyncer Q_ASSERT(!_bufferSyncer); _bufferSyncer = new BufferSyncer(this); - connect(bufferSyncer(), SIGNAL(lastSeenSet(BufferId, const QDateTime &)), this, SLOT(updateLastSeen(BufferId, const QDateTime &))); + connect(bufferSyncer(), SIGNAL(lastSeenMsgSet(BufferId, MsgId)), this, SLOT(updateLastSeenMsg(BufferId, MsgId))); connect(bufferSyncer(), SIGNAL(bufferRemoved(BufferId)), this, SLOT(bufferRemoved(BufferId))); connect(bufferSyncer(), SIGNAL(bufferRenamed(BufferId, QString)), this, SLOT(bufferRenamed(BufferId, QString))); signalProxy()->synchronize(bufferSyncer()); @@ -511,23 +511,24 @@ void Client::checkForHighlight(Message &msg) { 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 | Message::Notice | Message::Action)) && nickRegExp.exactMatch(msg.text())) + if((msg.type() & (Message::Plain | Message::Notice | Message::Action)) && !(msg.flags() & Message::Self) && nickRegExp.exactMatch(msg.text())) msg.setFlags(msg.flags() | Message::Highlight); } } -void Client::updateLastSeen(BufferId id, const QDateTime &lastSeen) { +void Client::updateLastSeenMsg(BufferId id, const MsgId &msgId) { Buffer *b = buffer(id); if(!b) { qWarning() << "Client::updateLastSeen(): Unknown buffer" << id; return; } - b->setLastSeen(lastSeen); + b->setLastSeenMsg(msgId); } -void Client::setBufferLastSeen(BufferId id, const QDateTime &lastSeen) { - if(!bufferSyncer()) return; - bufferSyncer()->requestSetLastSeen(id, lastSeen); +void Client::setBufferLastSeenMsg(BufferId id, const MsgId &msgId) { + if(!bufferSyncer()) + return; + bufferSyncer()->requestSetLastSeenMsg(id, msgId); } void Client::removeBuffer(BufferId id) {