Set current directory when using Save Branch As Scene

This commit is contained in:
Aaron Franke 2025-05-05 13:42:47 -07:00
parent 1a1cc0f7b0
commit 508d271522
No known key found for this signature in database
GPG key ID: 40A1750B977E56BF
2 changed files with 7 additions and 0 deletions

View file

@ -1182,6 +1182,11 @@ void SceneTreeDock::_tool_selected(int p_tool, bool p_confirm_override) {
} }
new_scene_from_dialog->set_file_mode(EditorFileDialog::FILE_MODE_SAVE_FILE); new_scene_from_dialog->set_file_mode(EditorFileDialog::FILE_MODE_SAVE_FILE);
if (determine_path_automatically) {
new_scene_from_dialog->set_current_dir(editor_data->get_edited_scene_root()->get_scene_file_path().get_base_dir());
} else {
determine_path_automatically = true;
}
List<String> extensions; List<String> extensions;
Ref<PackedScene> sd = memnew(PackedScene); Ref<PackedScene> sd = memnew(PackedScene);
@ -4069,6 +4074,7 @@ void SceneTreeDock::set_filter(const String &p_filter) {
void SceneTreeDock::save_branch_to_file(const String &p_directory) { void SceneTreeDock::save_branch_to_file(const String &p_directory) {
new_scene_from_dialog->set_current_dir(p_directory); new_scene_from_dialog->set_current_dir(p_directory);
determine_path_automatically = false;
_tool_selected(TOOL_NEW_SCENE_FROM); _tool_selected(TOOL_NEW_SCENE_FROM);
} }

View file

@ -290,6 +290,7 @@ class SceneTreeDock : public VBoxContainer {
bool profile_allow_editing = true; bool profile_allow_editing = true;
bool profile_allow_script_editing = true; bool profile_allow_script_editing = true;
bool determine_path_automatically = true;
static void _update_configuration_warning(); static void _update_configuration_warning();