From 4425c659a001887d82664b41c0e4222e21beddbc Mon Sep 17 00:00:00 2001 From: David Faure Date: Thu, 4 Sep 2014 18:14:43 +0200 Subject: [PATCH] Port away from KonqOperations::rename It's a bit more code, but this way if you want e.g. custom error handling you know what to change :) --- src/panels/folders/folderspanel.cpp | 14 ++++++++++++-- 1 file changed, 12 insertions(+), 2 deletions(-) diff --git a/src/panels/folders/folderspanel.cpp b/src/panels/folders/folderspanel.cpp index 1f7d007ca5..674f04c0d6 100644 --- a/src/panels/folders/folderspanel.cpp +++ b/src/panels/folders/folderspanel.cpp @@ -33,7 +33,10 @@ #include #include -#include +#include +#include +#include +#include #include #include @@ -250,7 +253,14 @@ void FoldersPanel::slotRoleEditingFinished(int index, const QByteArray& role, co const KFileItem item = m_model->fileItem(index); const QString newName = value.toString(); if (!newName.isEmpty() && newName != item.text() && newName != QLatin1String(".") && newName != QLatin1String("..")) { - KonqOperations::rename(this, item.url(), newName); + const QUrl oldUrl = item.url(); + QUrl newUrl = oldUrl.adjusted(QUrl::RemoveFilename); + newUrl.setPath(newUrl.path() + KIO::encodeFileName(newName)); + + KIO::Job* job = KIO::moveAs(oldUrl, newUrl); + KJobWidgets::setWindow(job, this); + KIO::FileUndoManager::self()->recordJob(KIO::FileUndoManager::Rename, QList() << oldUrl, newUrl, job); + job->ui()->setAutoErrorHandlingEnabled(true); } } }