#ifndef KITEMLISTGROUPHEADER_H
#define KITEMLISTGROUPHEADER_H
-#include <libdolphin_export.h>
+#include "dolphin_export.h"
#include <kitemviews/kitemliststyleoption.h>
* 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
void setItemIndex(int index);
int itemIndex() const;
- virtual void paint(QPainter* painter, const QStyleOptionGraphicsItem* option, QWidget* widget = 0);
+ virtual void paint(QPainter* painter, const QStyleOptionGraphicsItem* option, QWidget* widget = 0) Q_DECL_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
*/
virtual void itemIndexChanged(int current, int previous);
- /** @reimp */
- virtual void resizeEvent(QGraphicsSceneResizeEvent* event);
+ virtual void resizeEvent(QGraphicsSceneResizeEvent* event) Q_DECL_OVERRIDE;
+
+ virtual QPalette::ColorRole normalTextColorRole() const;
+ virtual QPalette::ColorRole normalBaseColorRole() const;
private:
void updateCache();
static QColor mixedColor(const QColor& c1, const QColor& c2, int c1Percent = 50);
+ QColor textColor() const;
+ QColor baseColor() const;
+
private:
bool m_dirtyCache;
QByteArray m_role;
Qt::Orientation m_scrollOrientation;
int m_itemIndex;
- QColor m_lineColor;
+ QColor m_separatorColor;
QColor m_roleColor;
QRectF m_roleBounds;
};