-bool BufferSyncer::setLastSeen(BufferId buffer, const QDateTime &time) {
- if(_lastSeen[buffer] < time) {
- _lastSeen[buffer] = time;
- emit lastSeenSet(buffer, time);
+bool BufferSyncer::setLastSeenMsg(BufferId buffer, const MsgId &msgId) {
+ if(!msgId.isValid())
+ return false;
+
+ const MsgId oldLastSeenMsg = lastSeenMsg(buffer);
+ if(!oldLastSeenMsg.isValid() || oldLastSeenMsg < msgId) {
+ _lastSeenMsg[buffer] = msgId;
+ emit lastSeenMsgSet(buffer, msgId);