Bring back lastSeen support. Buffer has been hacked even closer to death now.
authorManuel Nickschas <sputnick@quassel-irc.org>
Sat, 2 Aug 2008 23:25:30 +0000 (01:25 +0200)
committerManuel Nickschas <sputnick@quassel-irc.org>
Sat, 2 Aug 2008 23:25:30 +0000 (01:25 +0200)
src/client/buffer.cpp
src/client/buffer.h

index de3bfcf..241e2e6 100644 (file)
@@ -76,9 +76,11 @@ bool Buffer::layoutMsg() {
 void Buffer::setVisible(bool visible) {
   _isVisible = visible;
   setActivityLevel(NoActivity);
 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) {
 }
 
 void Buffer::setLastSeenMsg(const MsgId &msgId) {
@@ -102,6 +104,10 @@ void Buffer::setActivityLevel(ActivityLevel level) {
 }
 
 void Buffer::updateActivityLevel(const Message &msg) {
 }
 
 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;
 
   if(isVisible())
     return;
 
index 8a20f52..17e9b23 100644 (file)
@@ -73,6 +73,7 @@ private:
   BufferInfo _bufferInfo;
   bool _isVisible;
   MsgId _lastSeenMsg;
   BufferInfo _bufferInfo;
   bool _isVisible;
   MsgId _lastSeenMsg;
+  Message _lastRcvdMsg;
   ActivityLevel _activityLevel;
 
   QLinkedList<Message> layoutQueue;
   ActivityLevel _activityLevel;
 
   QLinkedList<Message> layoutQueue;