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/kfileitemmodel.h | 13 +++++++++++++ 1 file changed, 13 insertions(+) (limited to 'src/kitemviews/kfileitemmodel.h') diff --git a/src/kitemviews/kfileitemmodel.h b/src/kitemviews/kfileitemmodel.h index 7d10aad8e..8ccff95e8 100644 --- a/src/kitemviews/kfileitemmodel.h +++ b/src/kitemviews/kfileitemmodel.h @@ -194,6 +194,16 @@ private: bool useMaximumUpdateInterval() const; + QList > nameRoleGroups() const; + QList > sizeRoleGroups() const; + QList > dateRoleGroups() const; + QList > permissionRoleGroups() const; + QList > ownerRoleGroups() const; + QList > groupRoleGroups() const; + QList > typeRoleGroups() const; + QList > destinationRoleGroups() const; + QList > pathRoleGroups() const; + private: QWeakPointer m_dirLister; @@ -214,6 +224,9 @@ private: KFileItemList m_pendingItemsToInsert; bool m_pendingEmitLoadingCompleted; + // Cache for KFileItemModel::groups() + mutable QList > m_groups; + // Stores the smallest expansion level of the root-URL. Is required to calculate // the "expansionLevel" role in an efficient way. A value < 0 indicates that // it has not been initialized yet. -- cgit v1.3.1