diff options
Diffstat (limited to 'src/treeviewsidebarpage.cpp')
| -rw-r--r-- | src/treeviewsidebarpage.cpp | 25 |
1 files changed, 25 insertions, 0 deletions
diff --git a/src/treeviewsidebarpage.cpp b/src/treeviewsidebarpage.cpp index d5f5f4053..8258fbfc8 100644 --- a/src/treeviewsidebarpage.cpp +++ b/src/treeviewsidebarpage.cpp @@ -24,12 +24,15 @@ #include "dolphinview.h" #include "dolphinsettings.h" #include "dolphin_folderspanelsettings.h" +#include "dolphin_generalsettings.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 +84,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())) { |
