diff options
| author | Frank Reininghaus <[email protected]> | 2011-12-04 19:33:56 +0100 |
|---|---|---|
| committer | Frank Reininghaus <[email protected]> | 2011-12-04 23:37:18 +0100 |
| commit | eb21254eef1f314fdd3f57896c65a826f749c4ad (patch) | |
| tree | 66ebd82cded92823518f446add9b50fc783d86c6 /src | |
| parent | 7263a091c5c11220a27332be7127589d51d1092d (diff) | |
Update the view if an item is renamed
Diffstat (limited to 'src')
| -rw-r--r-- | src/kitemviews/kfileitemmodel.cpp | 14 |
1 files changed, 10 insertions, 4 deletions
diff --git a/src/kitemviews/kfileitemmodel.cpp b/src/kitemviews/kfileitemmodel.cpp index 6ed10a602..c0adce986 100644 --- a/src/kitemviews/kfileitemmodel.cpp +++ b/src/kitemviews/kfileitemmodel.cpp @@ -702,8 +702,14 @@ void KFileItemModel::slotRefreshItems(const QList<QPair<KFileItem, KFileItem> >& QListIterator<QPair<KFileItem, KFileItem> > it(items); while (it.hasNext()) { const QPair<KFileItem, KFileItem>& itemPair = it.next(); - const int index = m_items.value(itemPair.second.url(), -1); + const KFileItem& oldItem = itemPair.first; + const KFileItem& newItem = itemPair.second; + const int index = m_items.value(oldItem.url(), -1); if (index >= 0) { + m_itemData[index]->item = newItem; + m_itemData[index]->values = retrieveData(newItem); + m_items.remove(oldItem.url()); + m_items.insert(newItem.url(), index); indexes.append(index); } } @@ -718,9 +724,9 @@ void KFileItemModel::slotRefreshItems(const QList<QPair<KFileItem, KFileItem> >& qSort(indexes); KItemRangeList itemRangeList; - int rangeIndex = 0; - int rangeCount = 1; int previousIndex = indexes.at(0); + int rangeIndex = previousIndex; + int rangeCount = 1; const int maxIndex = indexes.count() - 1; for (int i = 1; i <= maxIndex; ++i) { @@ -740,7 +746,7 @@ void KFileItemModel::slotRefreshItems(const QList<QPair<KFileItem, KFileItem> >& itemRangeList.append(KItemRange(rangeIndex, rangeCount)); } - emit itemsChanged(itemRangeList, QSet<QByteArray>()); + emit itemsChanged(itemRangeList, m_roles); } void KFileItemModel::slotClear() |
