]> cloud.milkyroute.net Git - dolphin.git/blobdiff - src/treeviewsidebarpage.cpp
Fix for show_filter_bar action of tools-menu, which is not correctly set (when the...
[dolphin.git] / src / treeviewsidebarpage.cpp
index d5f5f40532a284f9933d35c68a90a5d766648170..20216b13cf74a388bc93be627715de5ea31b5281 100644 (file)
 #include "dolphinview.h"
 #include "dolphinsettings.h"
 #include "dolphin_folderspanelsettings.h"
+#include "dolphin_generalsettings.h"
+#include "folderexpander.h"
+#include "renamedialog.h"
 #include "sidebartreeview.h"
 #include "treeviewcontextmenu.h"
 
 #include <kfileplacesmodel.h>
 #include <kdirlister.h>
 #include <kfileitem.h>
+#include <konq_operations.h>
 
 #include <QApplication>
 #include <QItemSelection>
@@ -81,6 +85,28 @@ bool TreeViewSidebarPage::showHiddenFiles() const
     return FoldersPanelSettings::showHiddenFiles();
 }
 
+
+void TreeViewSidebarPage::rename(const KFileItem& item)
+{
+    if (DolphinSettings::instance().generalSettings()->renameInline()) {
+        const QModelIndex dirIndex = m_dolphinModel->indexForItem(item);
+        const QModelIndex proxyIndex = m_proxyModel->mapFromSource(dirIndex);
+        m_treeView->edit(proxyIndex);
+    } else {
+        KFileItemList items;
+        items.append(item);
+        RenameDialog dialog(this, items);
+        if (dialog.exec() == QDialog::Accepted) {
+            const QString& newName = dialog.newName();
+            if (!newName.isEmpty()) {
+                KUrl newUrl = item.url();
+                newUrl.setFileName(newName);
+                KonqOperations::rename(this, item.url(), newUrl);
+            }
+        }
+    }
+}
+
 void TreeViewSidebarPage::setUrl(const KUrl& url)
 {
     if (!url.isValid() || (url == SidebarPage::url())) {
@@ -132,6 +158,8 @@ void TreeViewSidebarPage::showEvent(QShowEvent* event)
         m_treeView->setModel(m_proxyModel);
         m_proxyModel->setSorting(DolphinView::SortByName);
         m_proxyModel->setSortOrder(Qt::AscendingOrder);
+        
+        new FolderExpander(m_treeView, m_proxyModel);
 
         connect(m_treeView, SIGNAL(clicked(const QModelIndex&)),
                 this, SLOT(updateActiveView(const QModelIndex&)));