]> cloud.milkyroute.net Git - dolphin.git/blobdiff - src/kitemviews/kfileitemmodel.h
Reimplement name-filtering
[dolphin.git] / src / kitemviews / kfileitemmodel.h
index 8cbcb1216a72c29112c9de7d6eb8b46c15621b32..a83d57ba8bf15fa6f9129c8b34891d4822b58a8a 100644 (file)
@@ -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;