diff options
Diffstat (limited to 'src/panels/folders/folderspanel.cpp')
| -rw-r--r-- | src/panels/folders/folderspanel.cpp | 29 |
1 files changed, 16 insertions, 13 deletions
diff --git a/src/panels/folders/folderspanel.cpp b/src/panels/folders/folderspanel.cpp index 5f1b4a7e0..40e5eca8d 100644 --- a/src/panels/folders/folderspanel.cpp +++ b/src/panels/folders/folderspanel.cpp @@ -42,7 +42,6 @@ #include <QTimer> #include <views/draganddrophelper.h> -#include <views/renamedialog.h> #include <KDebug> @@ -89,18 +88,8 @@ bool FoldersPanel::autoScrolling() const void FoldersPanel::rename(const KFileItem& item) { - // TODO: Inline renaming is not supported anymore in Dolphin 2.0 - if (false /* GeneralSettings::renameInline() */) { - //const QModelIndex dirIndex = m_dolphinModel->indexForItem(item); - //const QModelIndex proxyIndex = m_proxyModel->mapFromSource(dirIndex); - //m_treeView->edit(proxyIndex); - } else { - RenameDialog* dialog = new RenameDialog(this, KFileItemList() << item); - dialog->setAttribute(Qt::WA_DeleteOnClose); - dialog->show(); - dialog->raise(); - dialog->activateWindow(); - } + const int index = fileItemModel()->index(item); + m_controller->view()->editRole(index, "name"); } bool FoldersPanel::urlChanged() @@ -147,6 +136,9 @@ void FoldersPanel::showEvent(QShowEvent* event) // opening the folders panel. view->setOpacity(0); + connect(view, SIGNAL(roleEditingFinished(int,QByteArray,QVariant)), + this, SLOT(slotRoleEditingFinished(int,QByteArray,QVariant))); + KFileItemModel* model = new KFileItemModel(this); model->setShowDirectoriesOnly(true); model->setShowHiddenFiles(FoldersPanelSettings::hiddenFilesShown()); @@ -261,6 +253,17 @@ void FoldersPanel::slotItemDropEvent(int index, QGraphicsSceneDragDropEvent* eve } } +void FoldersPanel::slotRoleEditingFinished(int index, const QByteArray& role, const QVariant& value) +{ + if (role == "name") { + const KFileItem item = fileItemModel()->fileItem(index); + const QString newName = value.toString(); + if (!newName.isEmpty() && newName != item.text() && newName != QLatin1String(".") && newName != QLatin1String("..")) { + KonqOperations::rename(this, item.url(), newName); + } + } +} + void FoldersPanel::slotLoadingCompleted() { if (m_controller->view()->opacity() == 0) { |
