From b30a33200969e354617fb0898dcde41149755ace Mon Sep 17 00:00:00 2001 From: Haoyu Qiu Date: Wed, 12 Apr 2023 20:59:34 +0800 Subject: [PATCH] Fix theme of editor VCS dialogs These dialogs were added to the plugin itself so theme can't be propagated. Also moved initialization of the VCS menu after the creation of EditorInterface. --- editor/editor_node.cpp | 17 ++++++++++------- editor/editor_node.h | 1 + .../plugins/version_control_editor_plugin.cpp | 5 +++-- 3 files changed, 14 insertions(+), 9 deletions(-) diff --git a/editor/editor_node.cpp b/editor/editor_node.cpp index f035541128e..2827a1dc59e 100644 --- a/editor/editor_node.cpp +++ b/editor/editor_node.cpp @@ -7377,14 +7377,8 @@ EditorNode::EditorNode() { project_menu->add_shortcut(ED_SHORTCUT_AND_COMMAND("editor/project_settings", TTR("Project Settings..."), Key::NONE, TTR("Project Settings")), RUN_SETTINGS); project_menu->connect("id_pressed", callable_mp(this, &EditorNode::_menu_option)); - vcs_actions_menu = VersionControlEditorPlugin::get_singleton()->get_version_control_actions_panel(); - vcs_actions_menu->set_name("Version Control"); - vcs_actions_menu->connect("index_pressed", callable_mp(this, &EditorNode::_version_control_menu_option)); project_menu->add_separator(); - project_menu->add_child(vcs_actions_menu); - project_menu->add_submenu_item(TTR("Version Control"), "Version Control"); - vcs_actions_menu->add_item(TTR("Create Version Control Metadata"), RUN_VCS_METADATA); - vcs_actions_menu->add_item(TTR("Version Control Settings"), RUN_VCS_SETTINGS); + project_menu->add_item(TTR("Version Control"), VCS_MENU); project_menu->add_separator(); project_menu->add_shortcut(ED_SHORTCUT_AND_COMMAND("editor/export", TTR("Export..."), Key::NONE, TTR("Export")), FILE_EXPORT_PROJECT); @@ -7884,6 +7878,15 @@ EditorNode::EditorNode() { raise_bottom_panel_item(AnimationPlayerEditor::get_singleton()); add_editor_plugin(VersionControlEditorPlugin::get_singleton()); + + vcs_actions_menu = VersionControlEditorPlugin::get_singleton()->get_version_control_actions_panel(); + vcs_actions_menu->set_name("Version Control"); + vcs_actions_menu->connect("index_pressed", callable_mp(this, &EditorNode::_version_control_menu_option)); + vcs_actions_menu->add_item(TTR("Create Version Control Metadata"), RUN_VCS_METADATA); + vcs_actions_menu->add_item(TTR("Version Control Settings"), RUN_VCS_SETTINGS); + project_menu->add_child(vcs_actions_menu); + project_menu->set_item_submenu(project_menu->get_item_index(VCS_MENU), "Version Control"); + add_editor_plugin(memnew(AudioBusesEditorPlugin(audio_bus_editor))); for (int i = 0; i < EditorPlugins::get_plugin_count(); i++) { diff --git a/editor/editor_node.h b/editor/editor_node.h index 8367d4da980..edcad7e4d1b 100644 --- a/editor/editor_node.h +++ b/editor/editor_node.h @@ -195,6 +195,7 @@ private: RUN_USER_DATA_FOLDER, RELOAD_CURRENT_PROJECT, RUN_PROJECT_MANAGER, + VCS_MENU, RUN_VCS_METADATA, RUN_VCS_SETTINGS, SETTINGS_UPDATE_CONTINUOUSLY, diff --git a/editor/plugins/version_control_editor_plugin.cpp b/editor/plugins/version_control_editor_plugin.cpp index 8ae7aaa3801..89f1f864614 100644 --- a/editor/plugins/version_control_editor_plugin.cpp +++ b/editor/plugins/version_control_editor_plugin.cpp @@ -34,6 +34,7 @@ #include "core/os/keyboard.h" #include "core/os/time.h" #include "editor/editor_file_system.h" +#include "editor/editor_interface.h" #include "editor/editor_node.h" #include "editor/editor_scale.h" #include "editor/editor_settings.h" @@ -942,7 +943,7 @@ VersionControlEditorPlugin::VersionControlEditorPlugin() { metadata_dialog->set_title(TTR("Create Version Control Metadata")); metadata_dialog->set_min_size(Size2(200, 40)); metadata_dialog->get_ok_button()->connect(SNAME("pressed"), callable_mp(this, &VersionControlEditorPlugin::_create_vcs_metadata_files)); - add_child(metadata_dialog); + EditorInterface::get_singleton()->get_base_control()->add_child(metadata_dialog); VBoxContainer *metadata_vb = memnew(VBoxContainer); metadata_dialog->add_child(metadata_vb); @@ -971,7 +972,7 @@ VersionControlEditorPlugin::VersionControlEditorPlugin() { set_up_dialog->set_min_size(Size2(600, 100)); set_up_dialog->add_cancel_button("Cancel"); set_up_dialog->set_hide_on_ok(true); - add_child(set_up_dialog); + EditorInterface::get_singleton()->get_base_control()->add_child(set_up_dialog); Button *set_up_apply_button = set_up_dialog->get_ok_button(); set_up_apply_button->set_text(TTR("Apply"));