X-Git-Url: https://git.quassel-irc.org/?p=quassel.git;a=blobdiff_plain;f=src%2Fqtui%2Fbufferwidget.cpp;fp=src%2Fqtui%2Fbufferwidget.cpp;h=db209a31297b8bf33fba6f50a332cb48988bb1b7;hp=ceb2806d62ac0bc4ead4f5f7513c28a9b3eb8efa;hb=02966c1d1a668b2382de899008e6fefb42da4bbb;hpb=00cc0dfd645cce97c120111f5e5fd4c02ed021c1 diff --git a/src/qtui/bufferwidget.cpp b/src/qtui/bufferwidget.cpp index ceb2806d..db209a31 100644 --- a/src/qtui/bufferwidget.cpp +++ b/src/qtui/bufferwidget.cpp @@ -27,6 +27,7 @@ #include "action.h" #include "actioncollection.h" +#include "backlogsettings.h" #include "chatline.h" #include "chatview.h" #include "chatviewsearchbar.h" @@ -83,6 +84,9 @@ BufferWidget::BufferWidget(QWidget* parent) ChatViewSettings s; s.initAndNotify("AutoMarkerLine", this, &BufferWidget::setAutoMarkerLine, true); s.initAndNotify("AutoMarkerLineOnLostFocus", this, &BufferWidget::setAutoMarkerLineOnLostFocus, true); + + BacklogSettings backlogSettings; + backlogSettings.initAndNotify("EnsureBacklogOnBufferShow", this, &BufferWidget::setEnsureBacklogOnBufferShow); } BufferWidget::~BufferWidget() @@ -101,6 +105,11 @@ void BufferWidget::setAutoMarkerLineOnLostFocus(const QVariant& v) _autoMarkerLineOnLostFocus = v.toBool(); } +void BufferWidget::setEnsureBacklogOnBufferShow(const QVariant& v) +{ + _ensureBacklogOnBufferShow = v.toBool(); +} + AbstractChatView* BufferWidget::createChatView(BufferId id) { ChatView* chatView; @@ -132,6 +141,10 @@ void BufferWidget::showChatView(BufferId id) Q_ASSERT(view); ui.stackedWidget->setCurrentWidget(view); _chatViewSearchController->setScene(view->scene()); + if (_ensureBacklogOnBufferShow) { + // Try to ensure some messages are visible + view->requestBacklogForScroll(); + } } }