diff options
| author | Peter Penz <[email protected]> | 2007-04-10 08:46:21 +0000 |
|---|---|---|
| committer | Peter Penz <[email protected]> | 2007-04-10 08:46:21 +0000 |
| commit | 5b5a7b8da8cb3ee6bbb9f7450c87fca5de41dc05 (patch) | |
| tree | d1257d61ee27485274b305eab30cb8e4de7f5592 /src/klistview.h | |
| parent | 0eac7ed90009b8e44fe7e3fee17152ed672b7f3b (diff) | |
Added Rafael López's item categorizer into Dolphin (it's currently deactivated in dolphiniconsview.cpp until it's in shape for the public).
svn path=/trunk/KDE/kdebase/apps/; revision=652156
Diffstat (limited to 'src/klistview.h')
| -rw-r--r-- | src/klistview.h | 93 |
1 files changed, 93 insertions, 0 deletions
diff --git a/src/klistview.h b/src/klistview.h new file mode 100644 index 000000000..dd5ac479c --- /dev/null +++ b/src/klistview.h @@ -0,0 +1,93 @@ +/** + * This file is part of the KDE project + * Copyright (C) 2007 Rafael Fernández López <[email protected]> + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Library General Public + * License as published by the Free Software Foundation; either + * version 2 of the License, or (at your option) any later version. + * + * This library 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 + * Library General Public License for more details. + * + * You should have received a copy of the GNU Library General Public License + * along with this library; see the file COPYING.LIB. If not, write to + * the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, + * Boston, MA 02110-1301, USA. + */ + +#ifndef __KLISTVIEW_H__ +#define __KLISTVIEW_H__ + +#include <QListView> + +#include <kdeui_export.h> + +class KItemCategorizer; + +class KDEUI_EXPORT KListView + : public QListView +{ + Q_OBJECT + +public: + KListView(QWidget *parent = 0); + + ~KListView(); + + void setModel(QAbstractItemModel *model); + + QRect visualRect(const QModelIndex &index) const; + + KItemCategorizer *itemCategorizer() const; + + void setItemCategorizer(KItemCategorizer *itemCategorizer); + + virtual QModelIndex indexAt(const QPoint &point) const; + + virtual int sizeHintForRow(int row) const; + + +protected: + virtual void drawNewCategory(const QString &category, + const QStyleOptionViewItem &option, + QPainter *painter); + + virtual int categoryHeight(const QStyleOptionViewItem &option) const; + + virtual void paintEvent(QPaintEvent *event); + + virtual void setSelection(const QRect &rect, + QItemSelectionModel::SelectionFlags flags); + + virtual void timerEvent(QTimerEvent *event); + + +protected Q_SLOTS: + virtual void rowsInserted(const QModelIndex &parent, + int start, + int end); + + virtual void rowsAboutToBeRemoved(const QModelIndex &parent, + int start, + int end); + + virtual void rowsInsertedArtifficial(const QModelIndex &parent, + int start, + int end); + + virtual void rowsAboutToBeRemovedArtifficial(const QModelIndex &parent, + int start, + int end); + + virtual void itemsLayoutChanged(); + + +private: + class Private; + Private *d; +}; + +#endif // __KLISTVIEW_H__ |
