X-Git-Url: https://git.quassel-irc.org/?p=quassel.git;a=blobdiff_plain;f=src%2Fuisupport%2Fabstractbuffercontainer.cpp;h=7be93f0d2c8abbfe386ebf380c904ce96b10e3b0;hp=0ac9b51ff6766e0f80715f195abbd2ceff27a9d3;hb=9d3446581d6f1900806b42078b7d2c16289a5fa5;hpb=adff595449304996ee1a5b21f9ee768f83e0a4b1 diff --git a/src/uisupport/abstractbuffercontainer.cpp b/src/uisupport/abstractbuffercontainer.cpp index 0ac9b51f..7be93f0d 100644 --- a/src/uisupport/abstractbuffercontainer.cpp +++ b/src/uisupport/abstractbuffercontainer.cpp @@ -1,5 +1,5 @@ /*************************************************************************** - * 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 * @@ -20,6 +20,7 @@ #include "abstractbuffercontainer.h" #include "client.h" +#include "clientbacklogmanager.h" #include "networkmodel.h" AbstractBufferContainer::AbstractBufferContainer(QWidget *parent) @@ -71,6 +72,7 @@ void AbstractBufferContainer::currentChanged(const QModelIndex ¤t, const Q if(newBufferId != oldBufferId) { setCurrentBuffer(newBufferId); emit currentChanged(newBufferId); + emit currentChanged(current); } } @@ -92,5 +94,10 @@ void AbstractBufferContainer::setCurrentBuffer(BufferId bufferId) { _currentBuffer = bufferId; showChatView(bufferId); Client::networkModel()->clearBufferActivity(bufferId); + Client::backlogManager()->checkForBacklog(bufferId); setFocus(); + + if(bufferId.isValid() && _chatViews.contains(bufferId)) { + Client::setBufferLastSeenMsg(bufferId, _chatViews[bufferId]->lastMsgId()); + } }