┌   ┐
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:14:28 +0100
commitc2f86821b841add2b94e7074e6991570788913de (patch)
treea26cbf4ebb2706bcb5880f69689542421aaab3c4 /src
parent00c5d7a242a33a2b668854dcf8b2e9411feb6ab5 (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;