X-Git-Url: https://git.quassel-irc.org/?a=blobdiff_plain;f=src%2Fqtui%2Fbufferwidget.cpp;h=3f6ba6d25a42071e7c5c4fdc4162a3b67f423ace;hb=be7f9fcb48b8587e59aefb26cec1caf3fcb95da2;hp=8590f28cff7214dce9d1855dbd50445cccd6b6f7;hpb=694f9bfbf7f1af19108461c7e00d133e55082bce;p=quassel.git diff --git a/src/qtui/bufferwidget.cpp b/src/qtui/bufferwidget.cpp index 8590f28c..3f6ba6d2 100644 --- a/src/qtui/bufferwidget.cpp +++ b/src/qtui/bufferwidget.cpp @@ -1,5 +1,5 @@ /*************************************************************************** - * Copyright (C) 2005-09 by the Quassel Project * + * Copyright (C) 2005-2014 by the Quassel Project * * devel@quassel-irc.org * * * * This program is free software; you can redistribute it and/or modify * @@ -15,7 +15,7 @@ * You should have received a copy of the GNU General Public License * * along with this program; if not, write to the * * Free Software Foundation, Inc., * - * 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. * + * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. * ***************************************************************************/ #include @@ -40,7 +40,8 @@ BufferWidget::BufferWidget(QWidget *parent) : AbstractBufferContainer(parent), _chatViewSearchController(new ChatViewSearchController(this)), - _autoMarkerLine(true) + _autoMarkerLine(true), + _autoMarkerLineOnLostFocus(true) { ui.setupUi(this); layout()->setContentsMargins(0, 0, 0, 0); @@ -99,6 +100,7 @@ BufferWidget::BufferWidget(QWidget *parent) ChatViewSettings s; s.initAndNotify("AutoMarkerLine", this, SLOT(setAutoMarkerLine(QVariant)), true); + s.initAndNotify("AutoMarkerLineOnLostFocus", this, SLOT(setAutoMarkerLineOnLostFocus(QVariant)), true); } @@ -114,6 +116,11 @@ void BufferWidget::setAutoMarkerLine(const QVariant &v) _autoMarkerLine = v.toBool(); } +void BufferWidget::setAutoMarkerLineOnLostFocus(const QVariant &v) +{ + _autoMarkerLineOnLostFocus = v.toBool(); +} + AbstractChatView *BufferWidget::createChatView(BufferId id) { @@ -270,14 +277,14 @@ void BufferWidget::setMarkerLine(ChatView *view, bool allowGoingBack) if (lastLine) { QModelIndex idx = lastLine->index(); MsgId msgId = idx.data(MessageModel::MsgIdRole).value(); + BufferId bufId = view->scene()->singleBufferId(); if (!allowGoingBack) { - BufferId bufId = view->scene()->singleBufferId(); MsgId oldMsgId = Client::markerLine(bufId); if (oldMsgId.isValid() && msgId <= oldMsgId) return; } - view->setMarkerLine(msgId); + Client::setMarkerLine(bufId, msgId); } }