┌   ┐
54
└   ┘

summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorPeter Penz <[email protected]>2011-12-23 21:10:32 +0100
committerPeter Penz <[email protected]>2011-12-23 21:15:48 +0100
commit2cafa66f00ef46c378c159d13319fea475070527 (patch)
tree7991c0a86f0b11c8b4aeceb56fabeaa15ededc9f /src
parent6f699495b5dbf54ce169a9a92cf781e03b4d4547 (diff)
Fix possible double entries in details view
The patch 30ae57ba807ecadfdef833a4895621fc330badc9 did not resolve the issue completely: The pending items to insert must be dispatched before checking for duplicates. Related to this report the expanding for the remote-protocol has been disabled. BUG: 288521 FIXED-IN: 4.8.0
Diffstat (limited to 'src')
-rw-r--r--src/kitemviews/kfileitemmodel.cpp7
1 files changed, 6 insertions, 1 deletions
diff --git a/src/kitemviews/kfileitemmodel.cpp b/src/kitemviews/kfileitemmodel.cpp
index 3d4e65302..b40865f8f 100644
--- a/src/kitemviews/kfileitemmodel.cpp
+++ b/src/kitemviews/kfileitemmodel.cpp
@@ -677,7 +677,11 @@ void KFileItemModel::slotNewItems(const KFileItemList& items)
Q_ASSERT(!items.isEmpty());
if (m_requestRole[ExpansionLevelRole] && m_rootExpansionLevel >= 0) {
- const KFileItem item = items.first();
+ // To be able to compare whether the new items may be inserted as children
+ // of a parent item the pending items must be added to the model first.
+ dispatchPendingItemsToInsert();
+
+ KFileItem item = items.first();
// If the expanding of items is enabled, the call
// dirLister->openUrl(url, KDirLister::Keep) in KFileItemModel::setExpanded()
@@ -1171,6 +1175,7 @@ QHash<QByteArray, QVariant> KFileItemModel::retrieveData(const KFileItem& item)
const QString protocol = rootUrl.protocol();
const bool forceRootExpansionLevel = (protocol == QLatin1String("trash") ||
protocol == QLatin1String("nepomuk") ||
+ protocol == QLatin1String("remote") ||
protocol.contains(QLatin1String("search")));
if (forceRootExpansionLevel) {
m_rootExpansionLevel = ForceRootExpansionLevel;