From ad9b66100e64d31019624c8eefeb5dbee738f3b5 Mon Sep 17 00:00:00 2001 From: kobewi Date: Fri, 13 Dec 2024 20:43:10 +0100 Subject: [PATCH] Remember state of built-in script/shader checkbox --- editor/script_create_dialog.cpp | 9 +++++++++ editor/shader_create_dialog.cpp | 8 ++++++++ 2 files changed, 17 insertions(+) diff --git a/editor/script_create_dialog.cpp b/editor/script_create_dialog.cpp index d000c4a1de8..8b4fc912368 100644 --- a/editor/script_create_dialog.cpp +++ b/editor/script_create_dialog.cpp @@ -204,6 +204,11 @@ void ScriptCreateDialog::config(const String &p_base_name, const String &p_base_ load_enabled = p_load_enabled; _language_changed(language_menu->get_selected()); + + if (_can_be_built_in()) { + built_in->set_pressed(EditorSettings::get_singleton()->get_project_metadata("script_setup", "create_built_in_script", false)); + _built_in_pressed(); + } } void ScriptCreateDialog::set_inheritance_base_type(const String &p_base) { @@ -344,6 +349,10 @@ void ScriptCreateDialog::_template_changed(int p_template) { void ScriptCreateDialog::ok_pressed() { if (is_new_script_created) { _create_new(); + if (_can_be_built_in()) { + // Only save state of built-in checkbox if it's enabled. + EditorSettings::get_singleton()->set_project_metadata("script_setup", "create_built_in_script", built_in->is_pressed()); + } } else { _load_exist(); } diff --git a/editor/shader_create_dialog.cpp b/editor/shader_create_dialog.cpp index f3d59b85799..0b2ed2bcfce 100644 --- a/editor/shader_create_dialog.cpp +++ b/editor/shader_create_dialog.cpp @@ -130,6 +130,10 @@ void ShaderCreateDialog::_template_changed(int p_template) { void ShaderCreateDialog::ok_pressed() { if (is_new_shader_created) { _create_new(); + if (built_in_enabled) { + // Only save state of built-in checkbox if it's enabled. + EditorSettings::get_singleton()->set_project_metadata("shader_setup", "create_built_in_shader", internal->is_pressed()); + } } else { _load_exist(); } @@ -409,6 +413,10 @@ void ShaderCreateDialog::config(const String &p_base_path, bool p_built_in_enabl built_in_enabled = p_built_in_enabled; load_enabled = p_load_enabled; + if (built_in_enabled) { + internal->set_pressed(EditorSettings::get_singleton()->get_project_metadata("shader_setup", "create_built_in_shader", false)); + } + if (p_preferred_type > -1) { type_menu->select(p_preferred_type); _type_changed(p_preferred_type);