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/kfileitemlistgroupheader.cpp | 43 +++++++++++++++++++++++++++++ 1 file changed, 43 insertions(+) create mode 100644 src/kitemviews/kfileitemlistgroupheader.cpp (limited to 'src/kitemviews/kfileitemlistgroupheader.cpp') diff --git a/src/kitemviews/kfileitemlistgroupheader.cpp b/src/kitemviews/kfileitemlistgroupheader.cpp new file mode 100644 index 000000000..969bd925b --- /dev/null +++ b/src/kitemviews/kfileitemlistgroupheader.cpp @@ -0,0 +1,43 @@ +/*************************************************************************** + * Copyright (C) 2011 by Peter Penz * + * * + * Based on the Itemviews NG project from Trolltech Labs: * + * http://qt.gitorious.org/qt-labs/itemviews-ng * + * * + * 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 * + ***************************************************************************/ + +#include "kfileitemlistgroupheader.h" + +#include + +KFileItemListGroupHeader::KFileItemListGroupHeader(QGraphicsWidget* parent) : + KItemListGroupHeader(parent) +{ +} + +KFileItemListGroupHeader::~KFileItemListGroupHeader() +{ +} + +void KFileItemListGroupHeader::paint(QPainter* painter, const QStyleOptionGraphicsItem* option, QWidget* widget) +{ + KItemListGroupHeader::paint(painter, option, widget); + // TODO: Use dataChanged() hook to prepare a cached property + painter->drawText(QRectF(0, 0, size().width(), size().height()), data().toString()); +} + +#include "kfileitemlistgroupheader.moc" -- cgit v1.3