style button is smaller now
[quassel.git] / src / uisupport / abstractbuffercontainer.cpp
index 88fb434..8fa4351 100644 (file)
@@ -20,6 +20,7 @@
 
 #include "abstractbuffercontainer.h"
 #include "client.h"
+#include "clientbacklogmanager.h"
 #include "networkmodel.h"
 
 AbstractBufferContainer::AbstractBufferContainer(QWidget *parent)
@@ -78,7 +79,10 @@ void AbstractBufferContainer::currentChanged(const QModelIndex &current, const Q
 void AbstractBufferContainer::setCurrentBuffer(BufferId bufferId) {
   BufferId prevBufferId = currentBuffer();
   if(prevBufferId.isValid() && _chatViews.contains(prevBufferId)) {
-    Client::setBufferLastSeenMsg(prevBufferId, _chatViews[prevBufferId]->lastMsgId());
+    MsgId msgId = _chatViews.value(prevBufferId)->lastMsgId();
+    Client::setBufferLastSeenMsg(prevBufferId, msgId);
+    if(autoSetMarkerLine())
+      Client::setBufferMarkerLine(prevBufferId, msgId);
   }
 
   if(!bufferId.isValid()) {
@@ -93,5 +97,7 @@ void AbstractBufferContainer::setCurrentBuffer(BufferId bufferId) {
   _currentBuffer = bufferId;
   showChatView(bufferId);
   Client::networkModel()->clearBufferActivity(bufferId);
+  Client::setBufferLastSeenMsg(bufferId, _chatViews[bufferId]->lastMsgId());
+  Client::backlogManager()->checkForBacklog(bufferId);
   setFocus();
 }