diff --git a/editor/export/export_template_manager.cpp b/editor/export/export_template_manager.cpp index 2e4f2da9a8d..5360b6fb60c 100644 --- a/editor/export/export_template_manager.cpp +++ b/editor/export/export_template_manager.cpp @@ -571,7 +571,7 @@ bool ExportTemplateManager::_install_file_selected(const String &p_file, bool p_ unzClose(pkg); _update_template_status(); - EditorSettings::get_singleton()->set_meta("export_template_download_directory", p_file.get_base_dir()); + EditorSettings::get_singleton()->set("_export_template_download_directory", p_file.get_base_dir()); return true; } @@ -1102,7 +1102,7 @@ ExportTemplateManager::ExportTemplateManager() { install_file_dialog->set_title(TTR("Select Template File")); install_file_dialog->set_access(FileDialog::ACCESS_FILESYSTEM); install_file_dialog->set_file_mode(FileDialog::FILE_MODE_OPEN_FILE); - install_file_dialog->set_current_dir(EditorSettings::get_singleton()->get_meta("export_template_download_directory", "")); + install_file_dialog->set_current_dir(EDITOR_DEF("_export_template_download_directory", "")); install_file_dialog->add_filter("*.tpz", TTR("Godot Export Templates")); install_file_dialog->connect("file_selected", callable_mp(this, &ExportTemplateManager::_install_file_selected).bind(false)); add_child(install_file_dialog); diff --git a/editor/script_create_dialog.cpp b/editor/script_create_dialog.cpp index f8673ddd444..0cb4952b041 100644 --- a/editor/script_create_dialog.cpp +++ b/editor/script_create_dialog.cpp @@ -111,15 +111,7 @@ static Vector _get_hierarchy(const String &p_class_name) { void ScriptCreateDialog::_notification(int p_what) { switch (p_what) { - case NOTIFICATION_ENTER_TREE: - case NOTIFICATION_THEME_CHANGED: { - for (int i = 0; i < ScriptServer::get_language_count(); i++) { - Ref language_icon = get_editor_theme_icon(ScriptServer::get_language(i)->get_type()); - if (language_icon.is_valid()) { - language_menu->set_item_icon(i, language_icon); - } - } - + case NOTIFICATION_ENTER_TREE: { String last_language = EditorSettings::get_singleton()->get_project_metadata("script_setup", "last_selected_language", ""); if (!last_language.is_empty()) { for (int i = 0; i < language_menu->get_item_count(); i++) { @@ -131,9 +123,16 @@ void ScriptCreateDialog::_notification(int p_what) { } else { language_menu->select(default_language); } - if (EditorSettings::get_singleton()->has_meta("script_setup_use_script_templates")) { - is_using_templates = bool(EditorSettings::get_singleton()->get_meta("script_setup_use_script_templates")); - use_templates->set_pressed(is_using_templates); + is_using_templates = EDITOR_DEF("_script_setup_use_script_templates", false); + use_templates->set_pressed(is_using_templates); + } break; + + case NOTIFICATION_THEME_CHANGED: { + for (int i = 0; i < ScriptServer::get_language_count(); i++) { + Ref language_icon = get_editor_theme_icon(ScriptServer::get_language(i)->get_type()); + if (language_icon.is_valid()) { + language_menu->set_item_icon(i, language_icon); + } } path_button->set_icon(get_editor_theme_icon(SNAME("Folder"))); @@ -297,12 +296,9 @@ void ScriptCreateDialog::_template_changed(int p_template) { EditorSettings::get_singleton()->set_project_metadata("script_setup", "templates_dictionary", dic_templates_project); } else { // Save template info to editor dictionary (not a project template). - Dictionary dic_templates; - if (EditorSettings::get_singleton()->has_meta("script_setup_templates_dictionary")) { - dic_templates = (Dictionary)EditorSettings::get_singleton()->get_meta("script_setup_templates_dictionary"); - } + Dictionary dic_templates = EDITOR_GET("_script_setup_templates_dictionary"); dic_templates[parent_name->get_text()] = sinfo.get_hash(); - EditorSettings::get_singleton()->set_meta("script_setup_templates_dictionary", dic_templates); + EditorSettings::get_singleton()->set("_script_setup_templates_dictionary", dic_templates); // Remove template from project dictionary as we last used an editor level template. Dictionary dic_templates_project = EditorSettings::get_singleton()->get_project_metadata("script_setup", "templates_dictionary", Dictionary()); if (dic_templates_project.has(parent_name->get_text())) { @@ -415,7 +411,7 @@ void ScriptCreateDialog::_built_in_pressed() { void ScriptCreateDialog::_use_template_pressed() { is_using_templates = use_templates->is_pressed(); - EditorSettings::get_singleton()->set_meta("script_setup_use_script_templates", is_using_templates); + EditorSettings::get_singleton()->set("_script_setup_use_script_templates", is_using_templates); validation_panel->update(); } @@ -509,10 +505,7 @@ void ScriptCreateDialog::_update_template_menu() { if (is_language_using_templates) { // Get the latest templates used for each type of node from project settings then global settings. Dictionary last_local_templates = EditorSettings::get_singleton()->get_project_metadata("script_setup", "templates_dictionary", Dictionary()); - Dictionary last_global_templates; - if (EditorSettings::get_singleton()->has_meta("script_setup_templates_dictionary")) { - last_global_templates = (Dictionary)EditorSettings::get_singleton()->get_meta("script_setup_templates_dictionary"); - } + Dictionary last_global_templates = EDITOR_GET("_script_setup_templates_dictionary"); String inherits_base_type = parent_name->get_text(); // If it inherits from a script, get its parent class first. @@ -825,6 +818,8 @@ void ScriptCreateDialog::_bind_methods() { } ScriptCreateDialog::ScriptCreateDialog() { + EDITOR_DEF("_script_setup_templates_dictionary", Dictionary()); + /* Main Controls */ GridContainer *gc = memnew(GridContainer);