]> cloud.milkyroute.net Git - dolphin.git/blobdiff - src/treeviewsidebarpage.h
Create the new architecture for KCategorizedView. Now DolphinModel is created, inheri...
[dolphin.git] / src / treeviewsidebarpage.h
index 06631abda5562376e193385a8957d7b9ef31838d..1124dcf3feb510083246e30dcb80e2867a9ca87d 100644 (file)
@@ -24,7 +24,7 @@
 #include <sidebarpage.h>
 
 class KDirLister;
-class KDirModel;
+class DolphinModel;
 
 class DolphinSortFilterProxyModel;
 class SidebarTreeView;
@@ -32,7 +32,7 @@ class QModelIndex;
 
 /**
  * @brief Shows a tree view of the directories starting from
- *        the currently selected bookmark.
+ *        the currently selected place.
  *
  * The tree view is always synchronized with the currently active view
  * from the main window.
@@ -81,14 +81,39 @@ private slots:
     void dropUrls(const KUrl::List& urls,
                   const QModelIndex& index);
 
+    /**
+     * Invokes expandToLeafDir() asynchronously (the expanding
+     * may not be done in the context of this slot).
+     */
+    void triggerExpanding(const QModelIndex& index);
+
+    /**
+     * Expands all directories to make m_leafDir visible and
+     * adjusts the selection.
+     */
+    void expandToLeafDir();
+
+    /**
+     * Loads the sub tree to make m_leafDir visible. Is invoked
+     * indirectly by loadTree() after the directory lister has
+     * finished loading the root items.
+     */
+    void loadSubTree();
+
 private:
+    /**
+     * Initializes the base URL of the tree and expands all
+     * directories until \a url.
+     * @param url  URL of the leaf directory that should get expanded.
+     */
     void loadTree(const KUrl& url);
 
 private:
     KDirLister* m_dirLister;
-    KDirModel* m_dirModel;
+    DolphinModel* m_dolphinModel;
     DolphinSortFilterProxyModel* m_proxyModel;
     SidebarTreeView* m_treeView;
+    KUrl m_leafDir;
 };
 
 #endif // TREEVIEWSIDEBARPAGE_H