On Monday 22 September 2014 08:34:48 Euan Thoms wrote: > My question refers to KDE4 specifically, but may be relevant to KDE5 also. > > I'm using WebDAV for our corporate roll-out via davfs2 (fuse module for > WebDAV). In Dolphin the browsing can be very slow because of 2 things: > > (i) the size column gets populated with number of items within (e.g. > recursive listing). (ii) the use of mime magic to determine file type means > that with davfs, the whole file is downloaded in order to read the first 10 > bytes or so. For a 100MB file, this is extremely inefficient. > > Krusader has options that's allows you to turn off mim magic (and rely on > file extensions alone), and it doesn't inspect the contents of sub-folders. > The net result is much faster browsing through a davfs2 mounted > filesystems. > > However, Dolphin and KIO in general, is well integrated into KDE. Therefore > I would like to firstly; hack kdelibs in 4.10.5 for my corporate rollout.
> Secondly; perhaps have an option in future versions of KDE4 /5 to disable > these clever but inefficient features of KIO. > > I noticed that when connecting to WebDAV using the webdav:// KIO slave, the > folder size is replaced with "unknown". So how would I go about making the > file:// KIO slave behave the same way? > > I am browsing throught the kio code, however it is very so[phisticated and > therefore complex codebase. So I would appreciate if someone would point me > in the right direction. In 6369b556ae9beef6888699d23b91326bac950ba4 (which you have in 4.10.5), (followed by ee3823dea680f), icon name became a delayed operation, to help with slow mounts. ChildCountRole in KDirModel doesn't do that, hence the problem you're seeing. Solution: ideally, this should be done delayed too. For instance by moving the feature to KFileItem so that it's also done delayed when m_delayedMimeTypes is true. Problem (ii) is solved (well improved) in Qt5 where "magic determination" only reads the first 16 KB of the file. -- David Faure, fa...@kde.org, http://www.davidfaure.fr Working on KDE Frameworks 5