diff --git a/editor/project_manager.cpp b/editor/project_manager.cpp index 8c85e9dbe11..b4539b94833 100644 --- a/editor/project_manager.cpp +++ b/editor/project_manager.cpp @@ -263,7 +263,8 @@ void ProjectManager::_update_theme(bool p_skip_creation) { erase_missing_btn->add_theme_constant_override("h_separation", get_theme_constant(SNAME("sidebar_button_icon_separation"), SNAME("ProjectManager"))); open_btn_container->add_theme_constant_override("separation", 0); - open_options_popup->set_item_icon(0, get_editor_theme_icon(SNAME("NodeWarning"))); + open_options_popup->set_item_icon(0, get_editor_theme_icon(SNAME("Notification"))); + open_options_popup->set_item_icon(1, get_editor_theme_icon(SNAME("NodeWarning"))); } // Asset library popup. @@ -500,6 +501,10 @@ void ProjectManager::_open_selected_projects() { args.push_back("--recovery-mode"); } + if (open_in_verbose_mode) { + args.push_back("--verbose"); + } + Error err = OS::get_singleton()->create_instance(args); if (err != OK) { loading_label->hide(); @@ -616,6 +621,7 @@ void ProjectManager::_open_selected_projects_check_recovery_mode() { return; } + open_in_verbose_mode = false; open_in_recovery_mode = false; // Check if the project failed to load during last startup. if (project.recovery_mode) { @@ -773,7 +779,11 @@ void ProjectManager::_on_projects_updated() { void ProjectManager::_on_open_options_selected(int p_option) { switch (p_option) { - case 0: // Edit in recovery mode. + case 0: // Edit in verbose mode. + open_in_verbose_mode = true; + _open_selected_projects_check_warnings(); + break; + case 1: // Edit in recovery mode. _open_recovery_mode_ask(true); break; } @@ -1477,7 +1487,8 @@ ProjectManager::ProjectManager() { open_btn_container->add_child(open_options_btn); open_options_popup = memnew(PopupMenu); - open_options_popup->add_item(TTR("Edit in recovery mode")); + open_options_popup->add_item(TTRC("Edit in verbose mode")); + open_options_popup->add_item(TTRC("Edit in recovery mode")); open_options_popup->connect(SceneStringName(id_pressed), callable_mp(this, &ProjectManager::_on_open_options_selected)); open_options_btn->add_child(open_options_popup); diff --git a/editor/project_manager.h b/editor/project_manager.h index dedd69c512e..088bbc9e25e 100644 --- a/editor/project_manager.h +++ b/editor/project_manager.h @@ -230,6 +230,7 @@ class ProjectManager : public Control { String version_convert_feature; bool open_in_recovery_mode = false; + bool open_in_verbose_mode = false; #ifndef DISABLE_DEPRECATED void _minor_project_migrate();