/** @see QWidget::sizeHint() */
virtual QSize sizeHint() const;
+ void setShowHiddenFiles(bool show);
+ bool showHiddenFiles() const;
+
+ void rename(const KFileItem& item);
+
+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);
+
public slots:
/**
* Changes the current selection inside the tree to \a url.
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.
void updateActiveView(const QModelIndex& index);
/**
- * Is emitted if the URLs \a urls have been dropped
- * to the index \a index. */
- void dropUrls(const KUrl::List& urls,
- const QModelIndex& index);
-
- /**
- * Invokes expandToLeafDir() asynchronously (the expanding
- * may not be done in the context of this slot).
+ * Is emitted if URLs have been dropped
+ * to the index \a index.
*/
- void triggerExpanding(const QModelIndex& index);
-
+ void dropUrls(const QModelIndex& index, QDropEvent* event);
+
/**
- * Expands all directories to make m_leafDir visible and
- * adjusts the selection.
+ * Expands the treeview to show the directory
+ * specified by \a index.
*/
- void expandToLeafDir();
+ void expandToDir(const QModelIndex& index);
/**
- * Loads the sub tree to make m_leafDir visible. Is invoked
- * indirectly by loadTree() after the directory lister has
- * finished loading the root items.
+ * Assures that the leaf folder gets visible.
*/
- void loadSubTree();
+ void scrollToLeaf();
- /**
- * Is invoked when the directory lister has started the loading
- * of the URL \a url and sets the internal m_dirListerCompleted
- * state to false.
- */
- void slotDirListerStarted(const KUrl& url);
-
- /**
- * Is invoked when the directory lister has completed the loading
- * and sets the internal m_dirListerCompleted state to true.
- */
- void slotDirListerCompleted();
+ void updateMouseButtons();
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;