X-Git-Url: https://cloud.milkyroute.net/gitweb/dolphin.git/blobdiff_plain/056d12d60f93a052e19f6e2cff9b826e500eef16..cebcf8db:/src/kitemviews/kitemlistgroupheader.h diff --git a/src/kitemviews/kitemlistgroupheader.h b/src/kitemviews/kitemlistgroupheader.h index c996a4870..1522af0ce 100644 --- a/src/kitemviews/kitemlistgroupheader.h +++ b/src/kitemviews/kitemlistgroupheader.h @@ -1,28 +1,14 @@ -/*************************************************************************** - * Copyright (C) 2011 by Peter Penz * - * * - * This program is free software; you can redistribute it and/or modify * - * it under the terms of the GNU General Public License as published by * - * the Free Software Foundation; either version 2 of the License, or * - * (at your option) any later version. * - * * - * This program is distributed in the hope that it will be useful, * - * but WITHOUT ANY WARRANTY; without even the implied warranty of * - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * - * GNU General Public License for more details. * - * * - * 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., * - * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA * - ***************************************************************************/ +/* + * SPDX-FileCopyrightText: 2011 Peter Penz + * + * SPDX-License-Identifier: GPL-2.0-or-later + */ #ifndef KITEMLISTGROUPHEADER_H #define KITEMLISTGROUPHEADER_H -#include - -#include +#include "dolphin_export.h" +#include "kitemviews/kitemliststyleoption.h" #include #include @@ -37,22 +23,22 @@ class KItemListView; * the method paint() and draw the role within the given roleBounds() with * the color roleColor(). */ -class LIBDOLPHINPRIVATE_EXPORT KItemListGroupHeader : public QGraphicsWidget +class DOLPHIN_EXPORT KItemListGroupHeader : public QGraphicsWidget { Q_OBJECT public: - KItemListGroupHeader(QGraphicsWidget* parent = 0); - virtual ~KItemListGroupHeader(); + explicit KItemListGroupHeader(QGraphicsWidget *parent = nullptr); + ~KItemListGroupHeader() override; - void setRole(const QByteArray& role); + void setRole(const QByteArray &role); QByteArray role() const; - void setData(const QVariant& data); + void setData(const QVariant &data); QVariant data() const; - void setStyleOption(const KItemListStyleOption& option); - const KItemListStyleOption& styleOption() const; + void setStyleOption(const KItemListStyleOption &option); + const KItemListStyleOption &styleOption() const; /** * Sets the scroll orientation that is used by the KItemListView. @@ -65,32 +51,29 @@ public: void setItemIndex(int index); int itemIndex() const; - virtual void paint(QPainter* painter, const QStyleOptionGraphicsItem* option, QWidget* widget = 0); + void paint(QPainter *painter, const QStyleOptionGraphicsItem *option, QWidget *widget = nullptr) override; protected: - /** @return Bounding rectangle where the role should be drawn into. */ - QRectF roleBounds() const; - - /** @return Primary color that should be used for drawing the role. */ - QColor roleColor() const; + virtual void paintRole(QPainter *painter, const QRectF &roleBounds, const QColor &color) = 0; + virtual void paintSeparator(QPainter *painter, const QColor &color) = 0; /** * Is called after the role has been changed and allows the derived class * to react on this change. */ - virtual void roleChanged(const QByteArray& current, const QByteArray& previous); + virtual void roleChanged(const QByteArray ¤t, const QByteArray &previous); /** * Is called after the role has been changed and allows the derived class * to react on this change. */ - virtual void dataChanged(const QVariant& current, const QVariant& previous); + virtual void dataChanged(const QVariant ¤t, const QVariant &previous); /** * Is called after the style option has been changed and allows the derived class * to react on this change. */ - virtual void styleOptionChanged(const KItemListStyleOption& current, const KItemListStyleOption& previous); + virtual void styleOptionChanged(const KItemListStyleOption ¤t, const KItemListStyleOption &previous); /** * Is called after the scroll orientation has been changed and allows the derived class @@ -104,13 +87,19 @@ protected: */ virtual void itemIndexChanged(int current, int previous); - /** @reimp */ - virtual void resizeEvent(QGraphicsSceneResizeEvent* event); + void resizeEvent(QGraphicsSceneResizeEvent *event) override; + + virtual QPalette::ColorRole normalTextColorRole() const; + virtual QPalette::ColorRole normalBaseColorRole() const; private: void updateCache(); + void updateSize(); + + static QColor mixedColor(const QColor &c1, const QColor &c2, int c1Percent = 50); - static QColor mixedColor(const QColor& c1, const QColor& c2, int c1Percent = 50); + QColor textColor() const; + QColor baseColor() const; private: bool m_dirtyCache; @@ -120,10 +109,8 @@ private: Qt::Orientation m_scrollOrientation; int m_itemIndex; - QColor m_lineColor; + QColor m_separatorColor; QColor m_roleColor; QRectF m_roleBounds; }; #endif - -