┌   ┐
54
└   ┘

summaryrefslogtreecommitdiff
path: root/src/kitemviews/kfileitemmodel.h
diff options
context:
space:
mode:
authorPeter Penz <[email protected]>2011-11-30 00:18:22 +0100
committerPeter Penz <[email protected]>2011-11-30 00:24:33 +0100
commit7b8fbf737496e44e7676a437f000377d737dfd9c (patch)
tree5b64891095993e59b268e04dc44db77ded1fd030 /src/kitemviews/kfileitemmodel.h
parent3719ce7d2a7f4ee6a0585763139eea8f7786630c (diff)
Reimplement name-filtering
The filtering of items has not been implemented yet in the KFileItemModel of the new view-engine. The patch brings back this functionality again, but some minor issues are open: - When filtering trees expanded directories should only get hidden if no child is visible - Regular expressions are not supported yet (they have not been supported in Dolphin 1.x but it is now quite simple to implement). - When filtering previews and removing the filter it might be possible that the preview is not shown (is most probably an an already existing bug in KFileItemModelRolesUpdater). BUG: 287642 FIXED-IN: 4.8.0
Diffstat (limited to 'src/kitemviews/kfileitemmodel.h')
-rw-r--r--src/kitemviews/kfileitemmodel.h11
1 files changed, 11 insertions, 0 deletions
diff --git a/src/kitemviews/kfileitemmodel.h b/src/kitemviews/kfileitemmodel.h
index 8cbcb1216..a83d57ba8 100644
--- a/src/kitemviews/kfileitemmodel.h
+++ b/src/kitemviews/kfileitemmodel.h
@@ -134,6 +134,9 @@ public:
*/
void setExpanded(const QSet<KUrl>& urls);
+ void setNameFilter(const QString& nameFilter);
+ QString nameFilter() const;
+
signals:
void loadingCompleted();
@@ -271,6 +274,11 @@ private:
*/
bool isChildItem(int index) const;
+ /**
+ * @return True if the given item matches with the name filter.
+ */
+ static bool matchesNameFilter(const KFileItem& item, const QString& nameFilter);
+
private:
QWeakPointer<KDirLister> m_dirLister;
@@ -284,6 +292,9 @@ private:
QList<ItemData*> m_itemData;
QHash<KUrl, int> m_items; // Allows O(1) access for KFileItemModel::index(const KFileItem& item)
+ QString m_nameFilter;
+ KFileItemList m_filteredItems; // Items that got hidden by KFileItemModel::setNameFilter()
+
bool m_requestRole[RolesCount];
QTimer* m_minimumUpdateIntervalTimer;