X-Git-Url: https://git.quassel-irc.org/?a=blobdiff_plain;f=src%2Fqtui%2Fmarkerlineitem.cpp;h=b4690bbb19d2e960922b8dcb81d09cc87f343ee8;hb=518cd2bc478ab3675a60ec46d3ef183cace0cae7;hp=563ef4edae4bbe630eef9edc3cf8309ff2030add;hpb=3013f4e095802e906c85878436da9e2ee3f9028c;p=quassel.git diff --git a/src/qtui/markerlineitem.cpp b/src/qtui/markerlineitem.cpp index 563ef4ed..b4690bbb 100644 --- a/src/qtui/markerlineitem.cpp +++ b/src/qtui/markerlineitem.cpp @@ -1,5 +1,5 @@ /*************************************************************************** - * Copyright (C) 2010 by the Quassel Project * + * Copyright (C) 2005-2020 by the Quassel Project * * devel@quassel-irc.org * * * * This program is free software; you can redistribute it and/or modify * @@ -15,53 +15,57 @@ * 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 "markerlineitem.h" + #include -#include "markerlineitem.h" #include "qtui.h" -MarkerLineItem::MarkerLineItem(qreal sceneWidth, QGraphicsItem *parent) - : QGraphicsObject(parent), - _boundingRect(0, 0, sceneWidth, 1), - _chatLine(0) +MarkerLineItem::MarkerLineItem(qreal sceneWidth, QGraphicsItem* parent) + : QGraphicsObject(parent) + , _boundingRect(0, 0, sceneWidth, 1) + , _chatLine(nullptr) { - setVisible(false); - setZValue(8); - styleChanged(); // init brush and height - connect(QtUi::style(), SIGNAL(changed()), SLOT(styleChanged())); -} - -void MarkerLineItem::setChatLine(ChatLine *line) { - _chatLine = line; - if(!line) setVisible(false); + setZValue(8); + styleChanged(); // init brush and height + connect(QtUi::style(), &UiStyle::changed, this, &MarkerLineItem::styleChanged); } -void MarkerLineItem::styleChanged() { - _brush = QtUi::style()->brush(UiStyle::MarkerLine); +void MarkerLineItem::setChatLine(ChatLine* line) +{ + _chatLine = line; + if (!line) + setVisible(false); +} - // if this is a solid color, we assume 1px because wesurely don't surely don't want to fill the entire chatline. - // else, use the height of a single line of text to play around with gradients etc. - qreal height = 1.; - if(_brush.style() != Qt::SolidPattern) - height = QtUi::style()->fontMetrics(QtUiStyle::PlainMsg, 0)->lineSpacing(); +void MarkerLineItem::styleChanged() +{ + _brush = QtUi::style()->brush(UiStyle::ColorRole::MarkerLine); + // if this is a solid color, we assume 1px because wesurely don't surely don't want to fill the entire chatline. + // else, use the height of a single line of text to play around with gradients etc. + qreal height = 1.; + if (_brush.style() != Qt::SolidPattern) + height = QtUi::style()->fontMetrics(QtUiStyle::FormatType::PlainMsg, UiStyle::MessageLabel::None)->lineSpacing(); - prepareGeometryChange(); - _boundingRect = QRectF(0, 0, scene()? scene()->width() : 100, height); + prepareGeometryChange(); + _boundingRect = QRectF(0, 0, scene() ? scene()->width() : 100, height); } -void MarkerLineItem::sceneRectChanged(const QRectF &rect) { - prepareGeometryChange(); - _boundingRect.setWidth(rect.width()); +void MarkerLineItem::sceneRectChanged(const QRectF& rect) +{ + prepareGeometryChange(); + _boundingRect.setWidth(rect.width()); } -void MarkerLineItem::paint(QPainter *painter, const QStyleOptionGraphicsItem *option, QWidget *widget) { - Q_UNUSED(option); - Q_UNUSED(widget); +void MarkerLineItem::paint(QPainter* painter, const QStyleOptionGraphicsItem* option, QWidget* widget) +{ + Q_UNUSED(option); + Q_UNUSED(widget); - painter->fillRect(boundingRect(), _brush); + painter->fillRect(boundingRect(), _brush); }