I think this is a small issue.
Following problem.
I have some projects that I store on my usb stick. So I import them in godot and everything works fine.
If the usb stick is plugged in and I start godot the project is listed.
Now here comes the problem. If my usb stick is not plugged in and I start godot the project is of course not listed. But it seems it then gets completely removed from the list. Even if I plug the stick to my computer and then restart godot the project is gone and I have to add it again manually. This is a bit annoying.
Would be good if that project is still stored. Even if the usb stick is not plugged in.
I guess the logic could be to keep all projects in the list even if not found on the system, but maybe greyed out or something if missing. Attempting to edit/run such a project would trigger a popup that notifies you that the files are missing, and proposes to remove it from the projects list if you want.
The suggestion in #8792 was to keep them in the list and additionally give an option to remove from the project list.
I had a peek at the code for the editor's project list before and I think I have a basic idea of how this could be implemented. My c++ skills are limited but I might have a go at getting this working later.
The FileAccess::exists(conf)
else block inside ProjectManager::_load_recent_projects()
could be modified to fetch the following lines from EditorSettings
as an example:
(favourite_)projects/::path::to::my::awesome::godot::project/cached_project_name
(favourite_)projects/::path::to::my::awesome::godot::project/cached_project_modified_time
(favourite_)projects/::path::to::my::awesome::godot::project/cached_project_icon
(perhaps from .godot/tmp
?)
I am wondering how to handle the obviously missing conf
. It could possibly do another check for the file on the disk or see if conf
is a special "project not found" string but there's also a bunch of other things to take into consideration as well.
Most helpful comment
I guess the logic could be to keep all projects in the list even if not found on the system, but maybe greyed out or something if missing. Attempting to edit/run such a project would trigger a popup that notifies you that the files are missing, and proposes to remove it from the projects list if you want.