From: Frank Reininghaus Date: Wed, 31 Oct 2012 22:06:39 +0000 (+0100) Subject: Do not show an incorrect file name after a failed rename operation X-Git-Url: https://cloud.milkyroute.net/gitweb/dolphin.git/commitdiff_plain/9d6feb556dbdca54ad9c0a5edc32f53840a88a0f Do not show an incorrect file name after a failed rename operation BUG: 303742 FIXED-IN: 4.9.3 --- diff --git a/src/views/dolphinview.cpp b/src/views/dolphinview.cpp index 624aa185d..8e1a19108 100644 --- a/src/views/dolphinview.cpp +++ b/src/views/dolphinview.cpp @@ -1348,9 +1348,18 @@ void DolphinView::slotRoleEditingFinished(int index, const QByteArray& role, con if (!newName.isEmpty() && newName != oldItem.text() && newName != QLatin1String(".") && newName != QLatin1String("..")) { const KUrl oldUrl = oldItem.url(); - QHash data; - data.insert(role, value); - m_model->setData(index, data); + const KUrl newUrl(url().path(KUrl::AddTrailingSlash) + newName); + const bool newNameExistsAlready = (m_model->index(newUrl) >= 0); + if (!newNameExistsAlready) { + // Only change the data in the model if no item with the new name + // is in the model yet. If there is an item with the new name + // already, calling KonqOperations::rename() will open a dialog + // asking for a new name, and KFileItemModel will update the + // data when the dir lister signals that the file name has changed. + QHash data; + data.insert(role, value); + m_model->setData(index, data); + } KonqOperations::rename(this, oldUrl, newName); }