diff options
| author | Peter Penz <[email protected]> | 2011-11-06 23:09:46 +0100 |
|---|---|---|
| committer | Peter Penz <[email protected]> | 2011-11-06 23:10:56 +0100 |
| commit | c4e3528c7a514c11d77315769887dcbb2d9c933c (patch) | |
| tree | be9cec4362b8065ee52095c9229fd02823b0d064 /src | |
| parent | e7390eba86f123fe3899d1f42c8e148aba52cf4d (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.cpp | 11 |
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); |
