From eac436d0374d3be323c6ba36799d3cddc98301ea Mon Sep 17 00:00:00 2001 From: Peter Penz Date: Sat, 22 Oct 2011 01:31:02 +0200 Subject: Implement grouping for names - Use a custom header for KFileItems - Cache the groups - Allow enabling/disabling grouping dynamically Currently there is a random crash in combination with the groupheader-recycler, this will be fixed during the next days. --- src/kitemviews/kitemlistgroupheader.cpp | 46 ++++++++++++++++++++++++++++++++- 1 file changed, 45 insertions(+), 1 deletion(-) (limited to 'src/kitemviews/kitemlistgroupheader.cpp') diff --git a/src/kitemviews/kitemlistgroupheader.cpp b/src/kitemviews/kitemlistgroupheader.cpp index 4db253293..5aac02c82 100644 --- a/src/kitemviews/kitemlistgroupheader.cpp +++ b/src/kitemviews/kitemlistgroupheader.cpp @@ -29,7 +29,9 @@ #include KItemListGroupHeader::KItemListGroupHeader(QGraphicsWidget* parent) : - QGraphicsWidget(parent, 0) + QGraphicsWidget(parent, 0), + m_role(), + m_data() { } @@ -37,6 +39,36 @@ KItemListGroupHeader::~KItemListGroupHeader() { } +void KItemListGroupHeader::setRole(const QByteArray& role) +{ + if (m_role != role) { + const QByteArray previous = m_role; + m_role = role; + update(); + roleChanged(role, previous); + } +} + +QByteArray KItemListGroupHeader::role() const +{ + return m_role; +} + +void KItemListGroupHeader::setData(const QVariant& data) +{ + if (m_data != data) { + const QVariant previous = m_data; + m_data = data; + update(); + dataChanged(data, previous); + } +} + +QVariant KItemListGroupHeader::data() const +{ + return m_data; +} + QSizeF KItemListGroupHeader::sizeHint(Qt::SizeHint which, const QSizeF& constraint) const { Q_UNUSED(which); @@ -55,4 +87,16 @@ void KItemListGroupHeader::paint(QPainter* painter, const QStyleOptionGraphicsIt //painter->drawText(rect(), QString::number(m_index)); } +void KItemListGroupHeader::roleChanged(const QByteArray& current, const QByteArray& previous) +{ + Q_UNUSED(current); + Q_UNUSED(previous); +} + +void KItemListGroupHeader::dataChanged(const QVariant& current, const QVariant& previous) +{ + Q_UNUSED(current); + Q_UNUSED(previous); +} + #include "kitemlistgroupheader.moc" -- cgit v1.3