┌   ┐
54
└   ┘

summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorPeter Penz <[email protected]>2011-11-06 23:09:46 +0100
committerPeter Penz <[email protected]>2011-11-06 23:10:56 +0100
commitc4e3528c7a514c11d77315769887dcbb2d9c933c (patch)
treebe9cec4362b8065ee52095c9229fd02823b0d064 /src
parente7390eba86f123fe3899d1f42c8e148aba52cf4d (diff)
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.
Diffstat (limited to 'src')
-rw-r--r--src/kitemviews/kfileitemmodel.cpp11
1 files 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<QByteArray, QVariant> 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);