]> cloud.milkyroute.net Git - dolphin.git/commitdiff
Fix expansion-level issue
authorPeter Penz <peter.penz19@gmail.com>
Sun, 6 Nov 2011 22:09:46 +0000 (23:09 +0100)
committerPeter Penz <peter.penz19@gmail.com>
Sun, 6 Nov 2011 22:10:56 +0000 (23:10 +0100)
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

index c0c442e2380f122954a0b69c99be7364bdef7638..d46bfc8daf265ff30b2721ca54530409c3286774 100644 (file)
@@ -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);