X-Git-Url: https://git.quassel-irc.org/?p=quassel.git;a=blobdiff_plain;f=src%2Fqtui%2Fbufferwidget.cpp;h=f11094bae722a35ece42745acf550848820b4ae7;hp=b0448e41fa2ae8bd3e2296ec5955e66e5375941d;hb=45affd4fa815bb21d0b2e46ac80114bb9174f801;hpb=5b686746c880e5cda6d5de3e08180ea4332ff222 diff --git a/src/qtui/bufferwidget.cpp b/src/qtui/bufferwidget.cpp index b0448e41..f11094ba 100644 --- a/src/qtui/bufferwidget.cpp +++ b/src/qtui/bufferwidget.cpp @@ -1,5 +1,5 @@ /*************************************************************************** - * Copyright (C) 2005-2012 by the Quassel Project * + * Copyright (C) 2005-2016 by the Quassel Project * * devel@quassel-irc.org * * * * This program is free software; you can redistribute it and/or modify * @@ -18,6 +18,7 @@ * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. * ***************************************************************************/ +#include #include #include #include @@ -32,7 +33,6 @@ #include "chatviewsearchcontroller.h" #include "chatviewsettings.h" #include "client.h" -#include "iconloader.h" #include "multilineedit.h" #include "qtui.h" #include "settings.h" @@ -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); @@ -76,16 +77,16 @@ BufferWidget::BufferWidget(QWidget *parent) Action *zoomInChatview = coll->add("ZoomInChatView", this, SLOT(zoomIn())); zoomInChatview->setText(tr("Zoom In")); - zoomInChatview->setIcon(SmallIcon("zoom-in")); + zoomInChatview->setIcon(QIcon::fromTheme("zoom-in")); zoomInChatview->setShortcut(QKeySequence::ZoomIn); Action *zoomOutChatview = coll->add("ZoomOutChatView", this, SLOT(zoomOut())); - zoomOutChatview->setIcon(SmallIcon("zoom-out")); + zoomOutChatview->setIcon(QIcon::fromTheme("zoom-out")); zoomOutChatview->setText(tr("Zoom Out")); zoomOutChatview->setShortcut(QKeySequence::ZoomOut); Action *zoomOriginalChatview = coll->add("ZoomOriginalChatView", this, SLOT(zoomOriginal())); - zoomOriginalChatview->setIcon(SmallIcon("zoom-original")); + zoomOriginalChatview->setIcon(QIcon::fromTheme("zoom-original")); zoomOriginalChatview->setText(tr("Actual Size")); //zoomOriginalChatview->setShortcut(QKeySequence(Qt::CTRL + Qt::Key_0)); // used for RTS switching @@ -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) { @@ -225,6 +232,7 @@ bool BufferWidget::eventFilter(QObject *watched, QEvent *event) case Qt::Key_Down: if (!(keyEvent->modifiers() & Qt::ShiftModifier)) return false; + [[fallthrough]]; case Qt::Key_PageUp: case Qt::Key_PageDown: // static cast to access public qobject::event @@ -270,14 +278,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); } }