]> cloud.milkyroute.net Git - dolphin.git/commitdiff
Folders Panel: Also count directory links
authorPeter Penz <peter.penz19@gmail.com>
Sat, 9 Jun 2012 11:34:27 +0000 (13:34 +0200)
committerPeter Penz <peter.penz19@gmail.com>
Sat, 9 Jun 2012 11:37:42 +0000 (13:37 +0200)
... otherwise no expansion toggle will be shown. The implementation
is a compromise between performance and correctness: If the directory
contains links that are not directories, an unnecessary expansion
toggle will be shown. But this is better than showing no expansion
toggle in case if the directory contains links that point to other
directories.

BUG: 299997
FIXED-IN: 4.9.0

src/kitemviews/kfileitemmodelrolesupdater.cpp

index 5418c3f9ce624761188b8801d3e65f980e86ce88..e07d1135e78f0994a191ccb3b9f39f88501e68a7 100644 (file)
@@ -1085,9 +1085,14 @@ int KFileItemModelRolesUpdater::subItemsCount(const QString& path) const
                 }
             }
 
                 }
             }
 
-            // If only directories are counted, consider an unknown file type also
-            // as directory instead of trying to do an expensive stat() (see bug 292642).
-            if (!showFoldersOnly || dirEntry->d_type == DT_DIR || dirEntry->d_type == DT_UNKNOWN) {
+            // If only directories are counted, consider an unknown file type and links also
+            // as directory instead of trying to do an expensive stat()
+            // (see bugs 292642 and 299997).
+            const bool countEntry = !showFoldersOnly ||
+                                    dirEntry->d_type == DT_DIR ||
+                                    dirEntry->d_type == DT_LNK ||
+                                    dirEntry->d_type == DT_UNKNOWN;
+            if (countEntry) {
                 ++count;
             }
         }
                 ++count;
             }
         }