Make FileSystem dock set its path to the base folder of files after changes

This commit is contained in:
Michael Alexsander 2021-02-09 11:40:55 -03:00
parent df9c98e107
commit cf9d5cec22

View file

@ -1411,14 +1411,26 @@ void FileSystemDock::_make_scene_confirm() {
void FileSystemDock::_file_removed(String p_file) {
emit_signal("file_removed", p_file);
path = "res://";
// Find the closest parent directory available, in case multiple items were deleted along the same path.
path = p_file.get_base_dir();
DirAccessRef da = DirAccess::create(DirAccess::ACCESS_RESOURCES);
while (!da->dir_exists(path)) {
path = path.get_base_dir();
}
current_path->set_text(path);
}
void FileSystemDock::_folder_removed(String p_folder) {
emit_signal("folder_removed", p_folder);
path = "res://";
// Find the closest parent directory available, in case multiple items were deleted along the same path.
path = p_folder.get_base_dir();
DirAccessRef da = DirAccess::create(DirAccess::ACCESS_RESOURCES);
while (!da->dir_exists(path)) {
path = path.get_base_dir();
}
current_path->set_text(path);
}
@ -1586,7 +1598,7 @@ void FileSystemDock::_move_operation_confirm(const String &p_to_path, bool p_ove
print_verbose("FileSystem: saving moved scenes.");
_save_scenes_after_move(file_renames);
path = "res://";
path = p_to_path;
current_path->set_text(path);
}
}