From c4e3528c7a514c11d77315769887dcbb2d9c933c Mon Sep 17 00:00:00 2001 From: Peter Penz Date: Sun, 6 Nov 2011 23:09:46 +0100 Subject: [PATCH] Fix expansion-level issue When the details-view has been used on / a wrong expansion-level has been calculated and hence no expansion-toggles have been visible. --- src/kitemviews/kfileitemmodel.cpp | 11 ++++++----- 1 file changed, 6 insertions(+), 5 deletions(-) diff --git a/src/kitemviews/kfileitemmodel.cpp b/src/kitemviews/kfileitemmodel.cpp index c0c442e23..d46bfc8da 100644 --- a/src/kitemviews/kfileitemmodel.cpp +++ b/src/kitemviews/kfileitemmodel.cpp @@ -961,11 +961,12 @@ QHash KFileItemModel::retrieveData(const KFileItem& item) } if (m_requestRole[ExpansionLevelRole]) { - if (m_rootExpansionLevel < 0) { - KDirLister* dirLister = m_dirLister.data(); - if (dirLister) { - const QString rootDir = dirLister->url().directory(KUrl::AppendTrailingSlash); - m_rootExpansionLevel = rootDir.count('/'); + if (m_rootExpansionLevel < 0 && m_dirLister.data()) { + const QString rootDir = m_dirLister.data()->url().directory(KUrl::AppendTrailingSlash); + m_rootExpansionLevel = rootDir.count('/'); + if (m_rootExpansionLevel == 1) { + // Special case: The root is already reached and no parent is available + --m_rootExpansionLevel; } } const QString dir = item.url().directory(KUrl::AppendTrailingSlash); -- 2.47.3