/***************************************************************************
- * Copyright (C) 2005-08 by the Quassel IRC Team *
+ * Copyright (C) 2005-09 by the Quassel Project *
* devel@quassel-irc.org *
* *
* This program is free software; you can redistribute it and/or modify *
#include "abstractbuffercontainer.h"
#include "client.h"
+#include "clientbacklogmanager.h"
#include "networkmodel.h"
AbstractBufferContainer::AbstractBufferContainer(QWidget *parent)
if(newBufferId != oldBufferId) {
setCurrentBuffer(newBufferId);
emit currentChanged(newBufferId);
+ emit currentChanged(current);
}
}
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()) {
_currentBuffer = bufferId;
showChatView(bufferId);
- Client::networkModel()->setBufferActivity(bufferId, BufferInfo::NoActivity);
+ Client::networkModel()->clearBufferActivity(bufferId);
Client::setBufferLastSeenMsg(bufferId, _chatViews[bufferId]->lastMsgId());
+ Client::backlogManager()->checkForBacklog(bufferId);
setFocus();
}