From e416a73af88ef581b262745feeea0add49779395 Mon Sep 17 00:00:00 2001 From: Manuel Nickschas Date: Sun, 3 Aug 2008 01:25:30 +0200 Subject: [PATCH] Bring back lastSeen support. Buffer has been hacked even closer to death now. --- src/client/buffer.cpp | 12 +++++++++--- src/client/buffer.h | 1 + 2 files changed, 10 insertions(+), 3 deletions(-) diff --git a/src/client/buffer.cpp b/src/client/buffer.cpp index de3bfcf6..241e2e68 100644 --- a/src/client/buffer.cpp +++ b/src/client/buffer.cpp @@ -76,9 +76,11 @@ bool Buffer::layoutMsg() { void Buffer::setVisible(bool visible) { _isVisible = visible; setActivityLevel(NoActivity); - if(layoutedMsgs.isEmpty()) - return; - setLastSeenMsg(layoutedMsgs.last()->msgId()); + //if(layoutedMsgs.isEmpty()) + // return; + //setLastSeenMsg(layoutedMsgs.last()->msgId()); + if(_lastRcvdMsg.msgId() > 0) setLastSeenMsg(_lastRcvdMsg.msgId()); + //qDebug() << "setting last seen" << _lastRcvdMsg.msgId(); } void Buffer::setLastSeenMsg(const MsgId &msgId) { @@ -102,6 +104,10 @@ void Buffer::setActivityLevel(ActivityLevel level) { } void Buffer::updateActivityLevel(const Message &msg) { + // FIXME dirty hack to allow the lastSeen stuff to continue to work + // will be made much nicer once Buffer dies, I hope... + if(msg.msgId() > _lastRcvdMsg.msgId()) _lastRcvdMsg = msg; + if(isVisible()) return; diff --git a/src/client/buffer.h b/src/client/buffer.h index 8a20f529..17e9b23c 100644 --- a/src/client/buffer.h +++ b/src/client/buffer.h @@ -73,6 +73,7 @@ private: BufferInfo _bufferInfo; bool _isVisible; MsgId _lastSeenMsg; + Message _lastRcvdMsg; ActivityLevel _activityLevel; QLinkedList layoutQueue; -- 2.20.1