I'm currently working on cleaning up the VFS code.
It's a mess that evolved over the last 10 years; some parts are using KIO, some other Qt functions and a big factor is the support for a total custom virt:// filesystem that makes everything much more complicated.
Here are some ideas and notes mainly for myself (WIP):
* there are currently three implementations of the vfs class:
** normal_vfs for the local "file:/" filesystem
** ftp_vfs for ftp:// and other KIO protocls (smb:/, fish:/)
** virt_vfs for the virtual filesystem: list of files which are only references to real files. Preserved even when restarting Krusader. Used at least for bookmarks, locate, and searchdialog
* big question is what to do with virt_vfs. Dumping it is probably not possible without reworking all parts that are using it. But I hope I can simplify huge parts of it.
Maybe to remove (?):
* merging normal_vfs with ftp_vfs
* preservincopyjob has no real purpose
* Queue: a list dialog for KIO jobs? Is somebody really using this? Nowadays every DE has it's own one
* virtualcopyjob is not even used in virt_vfs!? Only with queue
These are all random thought for the record. Feel free to comment if you have own ideas, thoughts or you think I'm on the wrong track!
DONE:
* removed: Queue/*, kiojobwrapper, virtualcopyjob, preservingcopyjob
* merged ftp_vfs with normal_vfs to default_vfs
* rework of vfs, default_vfs and virt_vfs
* cleaned up panelfunc
* krvfshandler: connect to vfs instances
TODOs:
* ~~vfilecontainer: merge with vfs~~
* testing, testing and testing
* start re-adding a job queue