diff options
Diffstat (limited to 'editor/editor_node.cpp')
-rw-r--r-- | editor/editor_node.cpp | 46 |
1 files changed, 28 insertions, 18 deletions
diff --git a/editor/editor_node.cpp b/editor/editor_node.cpp index e0a014ac1a..d9e392e852 100644 --- a/editor/editor_node.cpp +++ b/editor/editor_node.cpp @@ -496,6 +496,9 @@ void EditorNode::_update_from_settings() { Viewport::MSAA msaa = Viewport::MSAA(int(GLOBAL_GET("rendering/anti_aliasing/quality/msaa_2d"))); scene_root->set_msaa_2d(msaa); + bool use_hdr_2d = GLOBAL_GET("rendering/viewport/hdr_2d"); + scene_root->set_use_hdr_2d(use_hdr_2d); + float mesh_lod_threshold = GLOBAL_GET("rendering/mesh_lod/lod_change/threshold_pixels"); scene_root->set_mesh_lod_threshold(mesh_lod_threshold); @@ -5006,12 +5009,17 @@ void EditorNode::_load_editor_layout() { config.instantiate(); Error err = config->load(EditorPaths::get_singleton()->get_project_settings_dir().path_join("editor_layout.cfg")); if (err != OK) { // No config. - // If config is not found, expand the res:// folder by default. + // If config is not found, expand the res:// folder and favorites by default. TreeItem *root = FileSystemDock::get_singleton()->get_tree_control()->get_item_with_metadata("res://", 0); if (root) { root->set_collapsed(false); } + TreeItem *favorites = FileSystemDock::get_singleton()->get_tree_control()->get_item_with_metadata("Favorites", 0); + if (favorites) { + favorites->set_collapsed(false); + } + if (overridden_default_layout >= 0) { _layout_menu_option(overridden_default_layout); } @@ -5673,12 +5681,13 @@ void EditorNode::_scene_tab_exit() { } void EditorNode::_scene_tab_input(const Ref<InputEvent> &p_input) { + int tab_id = scene_tabs->get_hovered_tab(); Ref<InputEventMouseButton> mb = p_input; if (mb.is_valid()) { - if (scene_tabs->get_hovered_tab() >= 0) { + if (tab_id >= 0) { if (mb->get_button_index() == MouseButton::MIDDLE && mb->is_pressed()) { - _scene_tab_closed(scene_tabs->get_hovered_tab()); + _scene_tab_closed(tab_id); } } else if (mb->get_button_index() == MouseButton::LEFT && mb->is_double_click()) { int tab_buttons = 0; @@ -5697,12 +5706,12 @@ void EditorNode::_scene_tab_input(const Ref<InputEvent> &p_input) { scene_tabs_context_menu->reset_size(); scene_tabs_context_menu->add_shortcut(ED_GET_SHORTCUT("editor/new_scene"), FILE_NEW_SCENE); - if (scene_tabs->get_hovered_tab() >= 0) { + if (tab_id >= 0) { scene_tabs_context_menu->add_shortcut(ED_GET_SHORTCUT("editor/save_scene"), FILE_SAVE_SCENE); scene_tabs_context_menu->add_shortcut(ED_GET_SHORTCUT("editor/save_scene_as"), FILE_SAVE_AS_SCENE); } scene_tabs_context_menu->add_shortcut(ED_GET_SHORTCUT("editor/save_all_scenes"), FILE_SAVE_ALL_SCENES); - if (scene_tabs->get_hovered_tab() >= 0) { + if (tab_id >= 0) { scene_tabs_context_menu->add_separator(); scene_tabs_context_menu->add_item(TTR("Show in FileSystem"), FILE_SHOW_IN_FILESYSTEM); scene_tabs_context_menu->add_item(TTR("Play This Scene"), FILE_RUN_SCENE); @@ -5716,7 +5725,13 @@ void EditorNode::_scene_tab_input(const Ref<InputEvent> &p_input) { scene_tabs_context_menu->set_item_disabled(scene_tabs_context_menu->get_item_index(FILE_OPEN_PREV), true); } scene_tabs_context_menu->add_item(TTR("Close Other Tabs"), FILE_CLOSE_OTHERS); + if (editor_data.get_edited_scene_count() <= 1) { + scene_tabs_context_menu->set_item_disabled(file_menu->get_item_index(FILE_CLOSE_OTHERS), true); + } scene_tabs_context_menu->add_item(TTR("Close Tabs to the Right"), FILE_CLOSE_RIGHT); + if (editor_data.get_edited_scene_count() == tab_id + 1) { + scene_tabs_context_menu->set_item_disabled(file_menu->get_item_index(FILE_CLOSE_RIGHT), true); + } scene_tabs_context_menu->add_item(TTR("Close All Tabs"), FILE_CLOSE_ALL); } scene_tabs_context_menu->set_position(scene_tabs->get_screen_position() + mb->get_position()); @@ -6920,8 +6935,7 @@ EditorNode::EditorNode() { { // Register importers at the beginning, so dialogs are created with the right extensions. - Ref<ResourceImporterTexture> import_texture; - import_texture.instantiate(); + Ref<ResourceImporterTexture> import_texture = memnew(ResourceImporterTexture(true)); ResourceFormatImporter::get_singleton()->add_importer(import_texture); Ref<ResourceImporterLayeredTexture> import_cubemap; @@ -6939,8 +6953,7 @@ EditorNode::EditorNode() { import_cubemap_array->set_mode(ResourceImporterLayeredTexture::MODE_CUBEMAP_ARRAY); ResourceFormatImporter::get_singleton()->add_importer(import_cubemap_array); - Ref<ResourceImporterLayeredTexture> import_3d; - import_3d.instantiate(); + Ref<ResourceImporterLayeredTexture> import_3d = memnew(ResourceImporterLayeredTexture(true)); import_3d->set_mode(ResourceImporterLayeredTexture::MODE_3D); ResourceFormatImporter::get_singleton()->add_importer(import_3d); @@ -6980,12 +6993,10 @@ EditorNode::EditorNode() { import_shader_file.instantiate(); ResourceFormatImporter::get_singleton()->add_importer(import_shader_file); - Ref<ResourceImporterScene> import_scene; - import_scene.instantiate(); + Ref<ResourceImporterScene> import_scene = memnew(ResourceImporterScene(false, true)); ResourceFormatImporter::get_singleton()->add_importer(import_scene); - Ref<ResourceImporterScene> import_animation; - import_animation = Ref<ResourceImporterScene>(memnew(ResourceImporterScene(true))); + Ref<ResourceImporterScene> import_animation = memnew(ResourceImporterScene(true, true)); ResourceFormatImporter::get_singleton()->add_importer(import_animation); { @@ -7468,8 +7479,8 @@ EditorNode::EditorNode() { export_as_menu->connect("index_pressed", callable_mp(this, &EditorNode::_export_as_menu_option)); file_menu->add_separator(); - file_menu->add_shortcut(ED_GET_SHORTCUT("ui_undo"), EDIT_UNDO, true); - file_menu->add_shortcut(ED_GET_SHORTCUT("ui_redo"), EDIT_REDO, true); + file_menu->add_shortcut(ED_GET_SHORTCUT("ui_undo"), EDIT_UNDO, true, true); + file_menu->add_shortcut(ED_GET_SHORTCUT("ui_redo"), EDIT_REDO, true, true); file_menu->add_separator(); file_menu->add_shortcut(ED_SHORTCUT_AND_COMMAND("editor/reload_saved_scene", TTR("Reload Saved Scene")), EDIT_RELOAD_SAVED_SCENE); @@ -7848,7 +7859,6 @@ EditorNode::EditorNode() { log = memnew(EditorLog); Button *output_button = add_bottom_panel_item(TTR("Output"), log); - output_button->set_theme_type_variation("BottomPanelButton"); log->set_tool_button(output_button); center_split->connect("resized", callable_mp(this, &EditorNode::_vp_resized)); @@ -8000,8 +8010,8 @@ EditorNode::EditorNode() { 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); + 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"); |