X-Git-Url: https://cloud.milkyroute.net/gitweb/dolphin.git/blobdiff_plain/cf72e481110d76081d1757dc89da5d8f68627b19..50eaec7a81faaeccc5dbcc2f47cbd982a7dd7207:/src/kitemviews/kitemlistgroupheader.cpp diff --git a/src/kitemviews/kitemlistgroupheader.cpp b/src/kitemviews/kitemlistgroupheader.cpp index 4482bab57..576d20b88 100644 --- a/src/kitemviews/kitemlistgroupheader.cpp +++ b/src/kitemviews/kitemlistgroupheader.cpp @@ -20,7 +20,7 @@ * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA * ***************************************************************************/ -#include "kitemlistgroupheader.h" +#include "kstandarditemlistgroupheader.h" #include "kitemlistview.h" @@ -37,7 +37,7 @@ KItemListGroupHeader::KItemListGroupHeader(QGraphicsWidget* parent) : m_styleOption(), m_scrollOrientation(Qt::Vertical), m_itemIndex(-1), - m_lineColor(), + m_separatorColor(), m_roleColor(), m_roleBounds() { @@ -124,6 +124,7 @@ Qt::Orientation KItemListGroupHeader::scrollOrientation() const void KItemListGroupHeader::paint(QPainter* painter, const QStyleOptionGraphicsItem* option, QWidget* widget) { + Q_UNUSED(painter); Q_UNUSED(option); Q_UNUSED(widget); @@ -131,26 +132,8 @@ void KItemListGroupHeader::paint(QPainter* painter, const QStyleOptionGraphicsIt updateCache(); } - if (m_scrollOrientation == Qt::Horizontal) { - painter->setPen(m_lineColor); - const qreal x = m_roleBounds.x() - 2 * m_styleOption.padding; - painter->drawLine(x, 0, x, size().height() - 1); - - } else if (m_itemIndex > 0) { - painter->setPen(m_lineColor); - const qreal y = m_roleBounds.y() - m_styleOption.padding; - painter->drawLine(0, y, size().width() - 1, y); - } -} - -QRectF KItemListGroupHeader::roleBounds() const -{ - return m_roleBounds; -} - -QColor KItemListGroupHeader::roleColor() const -{ - return m_roleColor; + paintSeparator(painter, m_separatorColor); + paintRole(painter, m_roleBounds, m_roleColor); } void KItemListGroupHeader::roleChanged(const QByteArray& current, const QByteArray& previous) @@ -199,25 +182,20 @@ void KItemListGroupHeader::updateCache() // performance reasons. const QColor c1 = m_styleOption.palette.text().color(); const QColor c2 = m_styleOption.palette.base().color(); - m_lineColor = mixedColor(c1, c2, 10); + m_separatorColor = mixedColor(c1, c2, 10); m_roleColor = mixedColor(c1, c2, 70); - int padding = m_styleOption.padding; - int horizontalMargin = 0; - if (m_scrollOrientation == Qt::Vertical) { - // The x-position of the group-header-widget will always be 0, - // Add a minimum margin. - horizontalMargin = qMax(2, m_styleOption.horizontalMargin); - } else { - padding *= 2; - } + const int padding = qMax(1, m_styleOption.padding); + const int horizontalMargin = qMax(2, m_styleOption.horizontalMargin); const QFontMetrics fontMetrics(m_styleOption.font); const qreal roleHeight = fontMetrics.height(); + const int y = (m_scrollOrientation == Qt::Vertical) ? padding : horizontalMargin; + m_roleBounds = QRectF(horizontalMargin + padding, - size().height() - roleHeight - padding, - size().width() - 2 * (horizontalMargin + padding), + y, + size().width() - 2 * padding - horizontalMargin, roleHeight); m_dirtyCache = false;