]> cloud.milkyroute.net Git - dolphin.git/blobdiff - src/treeviewsidebarpage.h
use "Sort by" instead of "Sort By"
[dolphin.git] / src / treeviewsidebarpage.h
index b7c5e25ff74c895ffb1392775c927245c99a1fde..fae94b47d78d2a1b20b166ac99b91c3c54b7ff22 100644 (file)
@@ -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.
@@ -45,6 +45,9 @@ public:
     TreeViewSidebarPage(QWidget* parent = 0);
     virtual ~TreeViewSidebarPage();
 
+    /** @see QWidget::sizeHint() */
+    virtual QSize sizeHint() const;
+
 public slots:
     /**
      * Changes the current selection inside the tree to \a url.
@@ -78,11 +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;
     DolphinSortFilterProxyModel* m_proxyModel;
     SidebarTreeView* m_treeView;
+    KUrl m_leafDir;
 };
 
 #endif // TREEVIEWSIDEBARPAGE_H