@@ -111,15 +111,7 @@ static Vector<String> _get_hierarchy(const String &p_class_name) {
111111
112112void ScriptCreateDialog::_notification (int p_what) {
113113 switch (p_what) {
114- case NOTIFICATION_ENTER_TREE:
115- case NOTIFICATION_THEME_CHANGED: {
116- for (int i = 0 ; i < ScriptServer::get_language_count (); i++) {
117- Ref<Texture2D> language_icon = get_editor_theme_icon (ScriptServer::get_language (i)->get_type ());
118- if (language_icon.is_valid ()) {
119- language_menu->set_item_icon (i, language_icon);
120- }
121- }
122-
114+ case NOTIFICATION_ENTER_TREE: {
123115 String last_language = EditorSettings::get_singleton ()->get_project_metadata (" script_setup" , " last_selected_language" , " " );
124116 if (!last_language.is_empty ()) {
125117 for (int i = 0 ; i < language_menu->get_item_count (); i++) {
@@ -131,9 +123,16 @@ void ScriptCreateDialog::_notification(int p_what) {
131123 } else {
132124 language_menu->select (default_language);
133125 }
134- if (EditorSettings::get_singleton ()->has_meta (" script_setup_use_script_templates" )) {
135- is_using_templates = bool (EditorSettings::get_singleton ()->get_meta (" script_setup_use_script_templates" ));
136- use_templates->set_pressed (is_using_templates);
126+ is_using_templates = EDITOR_DEF (" _script_setup_use_script_templates" , false );
127+ use_templates->set_pressed (is_using_templates);
128+ } break ;
129+
130+ case NOTIFICATION_THEME_CHANGED: {
131+ for (int i = 0 ; i < ScriptServer::get_language_count (); i++) {
132+ Ref<Texture2D> language_icon = get_editor_theme_icon (ScriptServer::get_language (i)->get_type ());
133+ if (language_icon.is_valid ()) {
134+ language_menu->set_item_icon (i, language_icon);
135+ }
137136 }
138137
139138 path_button->set_icon (get_editor_theme_icon (SNAME (" Folder" )));
@@ -297,12 +296,9 @@ void ScriptCreateDialog::_template_changed(int p_template) {
297296 EditorSettings::get_singleton ()->set_project_metadata (" script_setup" , " templates_dictionary" , dic_templates_project);
298297 } else {
299298 // Save template info to editor dictionary (not a project template).
300- Dictionary dic_templates;
301- if (EditorSettings::get_singleton ()->has_meta (" script_setup_templates_dictionary" )) {
302- dic_templates = (Dictionary)EditorSettings::get_singleton ()->get_meta (" script_setup_templates_dictionary" );
303- }
299+ Dictionary dic_templates = EDITOR_GET (" _script_setup_templates_dictionary" );
304300 dic_templates[parent_name->get_text ()] = sinfo.get_hash ();
305- EditorSettings::get_singleton ()->set_meta ( " script_setup_templates_dictionary " , dic_templates);
301+ EditorSettings::get_singleton ()->set ( " _script_setup_templates_dictionary " , dic_templates);
306302 // Remove template from project dictionary as we last used an editor level template.
307303 Dictionary dic_templates_project = EditorSettings::get_singleton ()->get_project_metadata (" script_setup" , " templates_dictionary" , Dictionary ());
308304 if (dic_templates_project.has (parent_name->get_text ())) {
@@ -415,7 +411,7 @@ void ScriptCreateDialog::_built_in_pressed() {
415411
416412void ScriptCreateDialog::_use_template_pressed () {
417413 is_using_templates = use_templates->is_pressed ();
418- EditorSettings::get_singleton ()->set_meta ( " script_setup_use_script_templates " , is_using_templates);
414+ EditorSettings::get_singleton ()->set ( " _script_setup_use_script_templates " , is_using_templates);
419415 validation_panel->update ();
420416}
421417
@@ -509,10 +505,7 @@ void ScriptCreateDialog::_update_template_menu() {
509505 if (is_language_using_templates) {
510506 // Get the latest templates used for each type of node from project settings then global settings.
511507 Dictionary last_local_templates = EditorSettings::get_singleton ()->get_project_metadata (" script_setup" , " templates_dictionary" , Dictionary ());
512- Dictionary last_global_templates;
513- if (EditorSettings::get_singleton ()->has_meta (" script_setup_templates_dictionary" )) {
514- last_global_templates = (Dictionary)EditorSettings::get_singleton ()->get_meta (" script_setup_templates_dictionary" );
515- }
508+ Dictionary last_global_templates = EDITOR_GET (" _script_setup_templates_dictionary" );
516509 String inherits_base_type = parent_name->get_text ();
517510
518511 // If it inherits from a script, get its parent class first.
@@ -825,6 +818,8 @@ void ScriptCreateDialog::_bind_methods() {
825818}
826819
827820ScriptCreateDialog::ScriptCreateDialog () {
821+ EDITOR_DEF (" _script_setup_templates_dictionary" , Dictionary ());
822+
828823 /* Main Controls */
829824
830825 GridContainer *gc = memnew (GridContainer);
0 commit comments