X-Git-Url: https://cloud.milkyroute.net/gitweb/dolphin.git/blobdiff_plain/7bd8a826f40b3973d127d32f8f00a625c08d1c1d..13b2fc55704fbc734cd4f9cbae56cfc2ef3ec0ce:/src/treeviewsidebarpage.h diff --git a/src/treeviewsidebarpage.h b/src/treeviewsidebarpage.h index ec0907ac2..ba820ff20 100644 --- a/src/treeviewsidebarpage.h +++ b/src/treeviewsidebarpage.h @@ -48,6 +48,30 @@ public: /** @see QWidget::sizeHint() */ virtual QSize sizeHint() const; + void setShowHiddenFiles(bool show); + bool showHiddenFiles() const; + +signals: + /** + * Is emitted if the an URL change is requested. + */ + void changeUrl(const KUrl& url, Qt::MouseButtons buttons); + + /** + * This signal is emitted when the sidebar requests a change in the + * current selection. The file-management view recieving this signal is + * not required to select all listed files, limiting the selection to + * e.g. the current folder. The new selection will be reported via the + * setSelection slot. + */ + void changeSelection(const KFileItemList& selection); + + /** + * This signal is emitted whenever a drop action on this widget needs the + * MainWindow's attention. + */ + void urlsDropped(const KUrl::List& urls, const KUrl& destination); + public slots: /** * Changes the current selection inside the tree to \a url. @@ -62,13 +86,6 @@ protected: virtual void contextMenuEvent(QContextMenuEvent* event); private slots: - /** - * Expands the tree in a way that the item with the URL m_selectedUrl - * gets visible. Is called by TreeViewSidebarPage::updateSelection() - * if the dir lister has been completed. - */ - void expandSelectionParent(); - /** * Updates the active view to the URL * which is given by the item with the index \a index. @@ -85,7 +102,13 @@ private slots: * Invokes expandToLeafDir() asynchronously (the expanding * may not be done in the context of this slot). */ - void triggerExpanding(const QModelIndex& index); + void triggerExpanding(); + + /** + * Invokes loadSubTree() asynchronously (the loading + * may not be done in the context of this slot). + */ + void triggerLoadSubTree(); /** * Expands all directories to make m_leafDir visible and @@ -101,17 +124,11 @@ private slots: void loadSubTree(); /** - * Is invoked when the directory lister has started the loading - * of the URL \a url and sets the internal m_dirListerCompleted - * state to false. + * Assures that the leaf folder gets visible. */ - void slotDirListerStarted(const KUrl& url); + void scrollToLeaf(); - /** - * Is invoked when the directory lister has completed the loading - * and sets the internal m_dirListerCompleted state to true. - */ - void slotDirListerCompleted(); + void updateMouseButtons(); private: /** @@ -121,8 +138,16 @@ private: */ void loadTree(const KUrl& url); + /** + * Selects the current leaf directory m_leafDir and assures + * that the directory is visible if the leaf has been set by + * TreeViewSidebarPage::setUrl(). + */ + void selectLeafDirectory(); + private: - bool m_dirListerCompleted; + bool m_setLeafVisible; + Qt::MouseButtons m_mouseButtons; KDirLister* m_dirLister; DolphinModel* m_dolphinModel; DolphinSortFilterProxyModel* m_proxyModel;