[prev in list] [next in list] [prev in thread] [next in thread] 

List:       kde-commits
Subject:    [kde-baseapps/KDE/4.9] dolphin/src/views: Do not show an incorrect file name after a failed rename o
From:       Frank Reininghaus <frank78ac () googlemail ! com>
Date:       2012-10-31 22:07:43
Message-ID: 20121031220743.8AAB7A6078 () git ! kde ! org
[Download RAW message or body]

Git commit 7cff47b01254f35bf413eac5d9d336f77c6f5fd9 by Frank Reininghaus.
Committed on 31/10/2012 at 23:06.
Pushed by freininghaus into branch 'KDE/4.9'.

Do not show an incorrect file name after a failed rename operation

BUG: 303742
FIXED-IN: 4.9.3

M  +12   -3    dolphin/src/views/dolphinview.cpp

http://commits.kde.org/kde-baseapps/7cff47b01254f35bf413eac5d9d336f77c6f5fd9


diff --git a/dolphin/src/views/dolphinview.cpp \
b/dolphin/src/views/dolphinview.cpp index 624aa18..8e1a191 100644
--- a/dolphin/src/views/dolphinview.cpp
+++ b/dolphin/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<QByteArray, QVariant> 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<QByteArray, \
QVariant> data; +                data.insert(role, value);
+                m_model->setData(index, data);
+            }
 
             KonqOperations::rename(this, oldUrl, newName);
         }


[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic