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 f035541128..2827a1dc59 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 8367d4da98..edcad7e4d1 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 8ae7aaa380..89f1f86461 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"));