Do not reset expandability when loading previews
Fixes a weird bug with the treeview if one has
[PreviewSettings]
Plugins=audiothumbnail
in their dolphinrc
. It can be any PreviewSettings plugin, as long as there it at least one.
Check the bug report for more, but in short, the bug is reproducible like this:
create folder tree inside a test folder with
mkdir -p 1/A/B/C/D/E/F/G/H/I
mkdir -p 2/A/B/C/D/E/F/G/H/I
mkdir -p 3/A/B/C/D/E/F/G/H/I
make sure you see the test folder, and expand it
expand folder 1, no need to expand all sub folders
expand folder 2
collapse and expand test folder
3 loses its expansion arrow
if all folders are expanded, only 3 keeps its order
if 1 and all its subfolders are expanded, then test is toggled,
folder 2 also loses its expansion arrow
Video of the bug:
The path to the bug is: KFileItemModelRolesUpdater::slotPreviewFailed
-> KFileItemModelRolesUpdater::applyResolvedRoles
-> KFileItemModelRolesUpdater::rolesData
-> KFileItemModelRolesUpdater::startDirectorySizeCounting
.
This causes Dolphin with preview plugins enabled trying to count the directories again, and the data gets reset even if there is something there. This then resets the isExpandable
flag and that breaks the treeview, causing all kinds of issues, like being able to expand non-directories and makes things out of sync.