Merge pull request #93372 from KoBeWi/instant_folders,_like_instant_noodles,_but_for_storing_files

Don't rescan filesystem when adding new directory
This commit is contained in:
Rémi Verschelde 2024-09-16 13:34:09 +02:00
commit 5b2eececfd
No known key found for this signature in database
GPG key ID: C3336907360768E1
4 changed files with 48 additions and 1 deletions

View file

@ -1318,6 +1318,15 @@ void FileSystemDock::_fs_changed() {
set_process(false);
}
void FileSystemDock::_directory_created(const String &p_path) {
if (!DirAccess::exists(p_path)) {
return;
}
EditorFileSystem::get_singleton()->add_new_directory(p_path);
_update_tree(get_uncollapsed_paths());
_update_file_list(true);
}
void FileSystemDock::_set_scanning_mode() {
button_hist_prev->set_disabled(true);
button_hist_next->set_disabled(true);
@ -4175,7 +4184,7 @@ FileSystemDock::FileSystemDock() {
make_dir_dialog = memnew(DirectoryCreateDialog);
add_child(make_dir_dialog);
make_dir_dialog->connect("dir_created", callable_mp(this, &FileSystemDock::_rescan).unbind(1));
make_dir_dialog->connect("dir_created", callable_mp(this, &FileSystemDock::_directory_created));
make_scene_dialog = memnew(SceneCreateDialog);
add_child(make_scene_dialog);