diff options
Diffstat (limited to 'editor')
-rw-r--r-- | editor/animation_track_editor.cpp | 2 | ||||
-rw-r--r-- | editor/editor_help_search.cpp | 25 | ||||
-rw-r--r-- | editor/editor_node.cpp | 106 | ||||
-rw-r--r-- | editor/editor_themes.cpp | 23 | ||||
-rw-r--r-- | editor/export_template_manager.cpp | 4 | ||||
-rw-r--r-- | editor/filesystem_dock.cpp | 15 | ||||
-rw-r--r-- | editor/filesystem_dock.h | 2 | ||||
-rw-r--r-- | editor/import/editor_scene_importer_gltf.cpp | 15 | ||||
-rw-r--r-- | editor/plugins/animation_state_machine_editor.cpp | 2 | ||||
-rw-r--r-- | editor/plugins/mesh_instance_editor_plugin.cpp | 2 | ||||
-rw-r--r-- | editor/plugins/mesh_library_editor_plugin.cpp | 2 | ||||
-rw-r--r-- | editor/plugins/script_editor_plugin.cpp | 15 | ||||
-rw-r--r-- | editor/plugins/script_text_editor.cpp | 2 | ||||
-rw-r--r-- | editor/plugins/sprite_editor_plugin.cpp | 8 | ||||
-rw-r--r-- | editor/plugins/sprite_frames_editor_plugin.cpp | 2 | ||||
-rw-r--r-- | editor/plugins/theme_editor_plugin.cpp | 2 | ||||
-rw-r--r-- | editor/plugins/tile_set_editor_plugin.cpp | 4 | ||||
-rw-r--r-- | editor/rename_dialog.cpp | 3 |
18 files changed, 119 insertions, 115 deletions
diff --git a/editor/animation_track_editor.cpp b/editor/animation_track_editor.cpp index 4ec245eacf..a1eb36209a 100644 --- a/editor/animation_track_editor.cpp +++ b/editor/animation_track_editor.cpp @@ -4579,7 +4579,7 @@ void AnimationTrackEditor::_new_track_property_selected(String p_name) { bool valid; subindices = _get_bezier_subindices_for_type(h.type, &valid); if (!valid) { - EditorNode::get_singleton()->show_warning("Invalid track for Bezier (no suitable sub-properties)"); + EditorNode::get_singleton()->show_warning(TTR("Invalid track for Bezier (no suitable sub-properties)")); return; } } diff --git a/editor/editor_help_search.cpp b/editor/editor_help_search.cpp index 2249fb48ab..1c5f8fb7fc 100644 --- a/editor/editor_help_search.cpp +++ b/editor/editor_help_search.cpp @@ -33,6 +33,7 @@ #include "core/os/keyboard.h" #include "editor_feature_profile.h" #include "editor_node.h" +#include "editor_scale.h" void EditorHelpSearch::_update_icons() { @@ -203,7 +204,7 @@ EditorHelpSearch::EditorHelpSearch() { vbox->add_child(hbox); search_box = memnew(LineEdit); - search_box->set_custom_minimum_size(Size2(200, 0)); + search_box->set_custom_minimum_size(Size2(200, 0) * EDSCALE); search_box->set_h_size_flags(SIZE_EXPAND_FILL); search_box->connect("gui_input", this, "_search_box_gui_input"); search_box->connect("text_changed", this, "_search_box_text_changed"); @@ -211,14 +212,14 @@ EditorHelpSearch::EditorHelpSearch() { hbox->add_child(search_box); case_sensitive_button = memnew(ToolButton); - case_sensitive_button->set_tooltip("Case Sensitive"); + case_sensitive_button->set_tooltip(TTR("Case Sensitive")); case_sensitive_button->connect("pressed", this, "_update_results"); case_sensitive_button->set_toggle_mode(true); case_sensitive_button->set_focus_mode(FOCUS_NONE); hbox->add_child(case_sensitive_button); hierarchy_button = memnew(ToolButton); - hierarchy_button->set_tooltip("Show Hierarchy"); + hierarchy_button->set_tooltip(TTR("Show Hierarchy")); hierarchy_button->connect("pressed", this, "_update_results"); hierarchy_button->set_toggle_mode(true); hierarchy_button->set_pressed(true); @@ -226,7 +227,7 @@ EditorHelpSearch::EditorHelpSearch() { hbox->add_child(hierarchy_button); filter_combo = memnew(OptionButton); - filter_combo->set_custom_minimum_size(Size2(200, 0)); + filter_combo->set_custom_minimum_size(Size2(200, 0) * EDSCALE); filter_combo->set_stretch_ratio(0); // Fixed width. filter_combo->add_item(TTR("Display All"), SEARCH_ALL); filter_combo->add_separator(); @@ -246,8 +247,8 @@ EditorHelpSearch::EditorHelpSearch() { results_tree->set_column_title(0, TTR("Name")); results_tree->set_column_title(1, TTR("Member Type")); results_tree->set_column_expand(1, false); - results_tree->set_column_min_width(1, 150); - results_tree->set_custom_minimum_size(Size2(0, 100)); + results_tree->set_column_min_width(1, 150 * EDSCALE); + results_tree->set_custom_minimum_size(Size2(0, 100) * EDSCALE); results_tree->set_hide_root(true); results_tree->set_select_mode(Tree::SELECT_ROW); results_tree->connect("item_activated", this, "_confirmed"); @@ -518,7 +519,7 @@ TreeItem *EditorHelpSearch::Runner::_create_method_item(TreeItem *p_parent, cons tooltip += ", "; } tooltip += ")"; - return _create_member_item(p_parent, p_class_doc->name, "MemberMethod", p_doc->name, "Method", "method", tooltip); + return _create_member_item(p_parent, p_class_doc->name, "MemberMethod", p_doc->name, TTRC("Method"), "method", tooltip); } TreeItem *EditorHelpSearch::Runner::_create_signal_item(TreeItem *p_parent, const DocData::ClassDoc *p_class_doc, const DocData::MethodDoc *p_doc) { @@ -533,13 +534,13 @@ TreeItem *EditorHelpSearch::Runner::_create_signal_item(TreeItem *p_parent, cons tooltip += ", "; } tooltip += ")"; - return _create_member_item(p_parent, p_class_doc->name, "MemberSignal", p_doc->name, "Signal", "signal", tooltip); + return _create_member_item(p_parent, p_class_doc->name, "MemberSignal", p_doc->name, TTRC("Signal"), "signal", tooltip); } TreeItem *EditorHelpSearch::Runner::_create_constant_item(TreeItem *p_parent, const DocData::ClassDoc *p_class_doc, const DocData::ConstantDoc *p_doc) { String tooltip = p_class_doc->name + "." + p_doc->name; - return _create_member_item(p_parent, p_class_doc->name, "MemberConstant", p_doc->name, "Constant", "constant", tooltip); + return _create_member_item(p_parent, p_class_doc->name, "MemberConstant", p_doc->name, TTRC("Constant"), "constant", tooltip); } TreeItem *EditorHelpSearch::Runner::_create_property_item(TreeItem *p_parent, const DocData::ClassDoc *p_class_doc, const DocData::PropertyDoc *p_doc) { @@ -547,13 +548,13 @@ TreeItem *EditorHelpSearch::Runner::_create_property_item(TreeItem *p_parent, co String tooltip = p_doc->type + " " + p_class_doc->name + "." + p_doc->name; tooltip += "\n " + p_class_doc->name + "." + p_doc->setter + "(value) setter"; tooltip += "\n " + p_class_doc->name + "." + p_doc->getter + "() getter"; - return _create_member_item(p_parent, p_class_doc->name, "MemberProperty", p_doc->name, "Property", "property", tooltip); + return _create_member_item(p_parent, p_class_doc->name, "MemberProperty", p_doc->name, TTRC("Property"), "property", tooltip); } TreeItem *EditorHelpSearch::Runner::_create_theme_property_item(TreeItem *p_parent, const DocData::ClassDoc *p_class_doc, const DocData::PropertyDoc *p_doc) { String tooltip = p_doc->type + " " + p_class_doc->name + "." + p_doc->name; - return _create_member_item(p_parent, p_class_doc->name, "MemberTheme", p_doc->name, "Theme Property", "theme_item", tooltip); + return _create_member_item(p_parent, p_class_doc->name, "MemberTheme", p_doc->name, TTRC("Theme Property"), "theme_item", tooltip); } TreeItem *EditorHelpSearch::Runner::_create_member_item(TreeItem *p_parent, const String &p_class_name, const String &p_icon, const String &p_name, const String &p_type, const String &p_metatype, const String &p_tooltip) { @@ -576,7 +577,7 @@ TreeItem *EditorHelpSearch::Runner::_create_member_item(TreeItem *p_parent, cons TreeItem *item = results_tree->create_item(p_parent); item->set_icon(0, icon); item->set_text(0, text); - item->set_text(1, TTR(p_type)); + item->set_text(1, TTRGET(p_type)); item->set_tooltip(0, p_tooltip); item->set_tooltip(1, p_tooltip); item->set_metadata(0, "class_" + p_metatype + ":" + p_class_name + ":" + p_name); diff --git a/editor/editor_node.cpp b/editor/editor_node.cpp index f382b98c72..430651472c 100644 --- a/editor/editor_node.cpp +++ b/editor/editor_node.cpp @@ -171,6 +171,7 @@ #include "editor/settings_config_dialog.h" #include <stdio.h> +#include <stdlib.h> EditorNode *EditorNode::singleton = NULL; @@ -573,11 +574,13 @@ void EditorNode::_fs_changed() { if (preset.is_null()) { String errstr = "Unknown export preset: " + export_defer.preset; ERR_PRINTS(errstr); + OS::get_singleton()->set_exit_code(EXIT_FAILURE); } else { Ref<EditorExportPlatform> platform = preset->get_platform(); if (platform.is_null()) { String errstr = "Preset \"" + export_defer.preset + "\" doesn't have a platform."; ERR_PRINTS(errstr); + OS::get_singleton()->set_exit_code(EXIT_FAILURE); } else { // ensures export_project does not loop infinitely, because notifications may // come during the export @@ -594,6 +597,7 @@ void EditorNode::_fs_changed() { } if (err != OK) { ERR_PRINTS(vformat(TTR("Project export failed with error code %d."), (int)err)); + OS::get_singleton()->set_exit_code(EXIT_FAILURE); } } } @@ -1059,71 +1063,75 @@ void EditorNode::_find_node_types(Node *p_node, int &count_2d, int &count_3d) { void EditorNode::_save_scene_with_preview(String p_file, int p_idx) { EditorProgress save("save", TTR("Saving Scene"), 4); - save.step(TTR("Analyzing"), 0); - int c2d = 0; - int c3d = 0; - _find_node_types(editor_data.get_edited_scene_root(), c2d, c3d); + if (editor_data.get_edited_scene_root() != NULL) { + save.step(TTR("Analyzing"), 0); - bool is2d; - if (c3d < c2d) { - is2d = true; - } else { - is2d = false; - } - save.step(TTR("Creating Thumbnail"), 1); - //current view? + int c2d = 0; + int c3d = 0; - Ref<Image> img; - if (is2d) { - img = scene_root->get_texture()->get_data(); - } else { - img = SpatialEditor::get_singleton()->get_editor_viewport(0)->get_viewport_node()->get_texture()->get_data(); - } + _find_node_types(editor_data.get_edited_scene_root(), c2d, c3d); - if (img.is_valid()) { + bool is2d; + if (c3d < c2d) { + is2d = true; + } else { + is2d = false; + } + save.step(TTR("Creating Thumbnail"), 1); + //current view? - img = img->duplicate(); + Ref<Image> img; + if (is2d) { + img = scene_root->get_texture()->get_data(); + } else { + img = SpatialEditor::get_singleton()->get_editor_viewport(0)->get_viewport_node()->get_texture()->get_data(); + } - save.step(TTR("Creating Thumbnail"), 2); - save.step(TTR("Creating Thumbnail"), 3); + if (img.is_valid()) { - int preview_size = EditorSettings::get_singleton()->get("filesystem/file_dialog/thumbnail_size"); - preview_size *= EDSCALE; + img = img->duplicate(); - // consider a square region - int vp_size = MIN(img->get_width(), img->get_height()); - int x = (img->get_width() - vp_size) / 2; - int y = (img->get_height() - vp_size) / 2; + save.step(TTR("Creating Thumbnail"), 2); + save.step(TTR("Creating Thumbnail"), 3); - if (vp_size < preview_size) { - // just square it. - img->crop_from_point(x, y, vp_size, vp_size); - } else { - int ratio = vp_size / preview_size; - int size = preview_size * MAX(1, ratio / 2); + int preview_size = EditorSettings::get_singleton()->get("filesystem/file_dialog/thumbnail_size"); + preview_size *= EDSCALE; - x = (img->get_width() - size) / 2; - y = (img->get_height() - size) / 2; + // consider a square region + int vp_size = MIN(img->get_width(), img->get_height()); + int x = (img->get_width() - vp_size) / 2; + int y = (img->get_height() - vp_size) / 2; - img->crop_from_point(x, y, size, size); - img->resize(preview_size, preview_size, Image::INTERPOLATE_LANCZOS); - } - img->convert(Image::FORMAT_RGB8); + if (vp_size < preview_size) { + // just square it. + img->crop_from_point(x, y, vp_size, vp_size); + } else { + int ratio = vp_size / preview_size; + int size = preview_size * MAX(1, ratio / 2); - img->flip_y(); + x = (img->get_width() - size) / 2; + y = (img->get_height() - size) / 2; - //save thumbnail directly, as thumbnailer may not update due to actual scene not changing md5 - String temp_path = EditorSettings::get_singleton()->get_cache_dir(); - String cache_base = ProjectSettings::get_singleton()->globalize_path(p_file).md5_text(); - cache_base = temp_path.plus_file("resthumb-" + cache_base); + img->crop_from_point(x, y, size, size); + img->resize(preview_size, preview_size, Image::INTERPOLATE_LANCZOS); + } + img->convert(Image::FORMAT_RGB8); + + img->flip_y(); - //does not have it, try to load a cached thumbnail + //save thumbnail directly, as thumbnailer may not update due to actual scene not changing md5 + String temp_path = EditorSettings::get_singleton()->get_cache_dir(); + String cache_base = ProjectSettings::get_singleton()->globalize_path(p_file).md5_text(); + cache_base = temp_path.plus_file("resthumb-" + cache_base); - String file = cache_base + ".png"; + //does not have it, try to load a cached thumbnail - post_process_preview(img); - img->save_png(file); + String file = cache_base + ".png"; + + post_process_preview(img); + img->save_png(file); + } } save.step(TTR("Saving Scene"), 4); diff --git a/editor/editor_themes.cpp b/editor/editor_themes.cpp index 6ac20e6719..b203ca8bc0 100644 --- a/editor/editor_themes.cpp +++ b/editor/editor_themes.cpp @@ -587,24 +587,11 @@ Ref<Theme> create_editor_theme(const Ref<Theme> p_theme) { theme->set_color("icon_color_pressed", "Button", icon_color_pressed); // OptionButton - Ref<StyleBoxFlat> style_option_button_normal = style_widget->duplicate(); - Ref<StyleBoxFlat> style_option_button_hover = style_widget_hover->duplicate(); - Ref<StyleBoxFlat> style_option_button_pressed = style_widget_pressed->duplicate(); - Ref<StyleBoxFlat> style_option_button_focus = style_widget_focus->duplicate(); - Ref<StyleBoxFlat> style_option_button_disabled = style_widget_disabled->duplicate(); - - int option_button_arrow_margin = theme->get_icon("GuiOptionArrow", "EditorIcons")->get_size().width + (default_margin_size + 4) * EDSCALE; - style_option_button_normal->set_default_margin(MARGIN_RIGHT, option_button_arrow_margin); - style_option_button_hover->set_default_margin(MARGIN_RIGHT, option_button_arrow_margin); - style_option_button_pressed->set_default_margin(MARGIN_RIGHT, option_button_arrow_margin); - style_option_button_focus->set_default_margin(MARGIN_RIGHT, option_button_arrow_margin); - style_option_button_disabled->set_default_margin(MARGIN_RIGHT, option_button_arrow_margin); - - theme->set_stylebox("normal", "OptionButton", style_option_button_normal); - theme->set_stylebox("hover", "OptionButton", style_option_button_hover); - theme->set_stylebox("pressed", "OptionButton", style_option_button_pressed); - theme->set_stylebox("focus", "OptionButton", style_option_button_focus); - theme->set_stylebox("disabled", "OptionButton", style_option_button_disabled); + theme->set_stylebox("normal", "OptionButton", style_widget); + theme->set_stylebox("hover", "OptionButton", style_widget_hover); + theme->set_stylebox("pressed", "OptionButton", style_widget_pressed); + theme->set_stylebox("focus", "OptionButton", style_widget_focus); + theme->set_stylebox("disabled", "OptionButton", style_widget_disabled); theme->set_color("font_color", "OptionButton", font_color); theme->set_color("font_color_hover", "OptionButton", font_color_hl); diff --git a/editor/export_template_manager.cpp b/editor/export_template_manager.cpp index 8f2b0cee2b..9b306c50d0 100644 --- a/editor/export_template_manager.cpp +++ b/editor/export_template_manager.cpp @@ -353,7 +353,7 @@ void ExportTemplateManager::ok_pressed() { void ExportTemplateManager::_http_download_mirror_completed(int p_status, int p_code, const PoolStringArray &headers, const PoolByteArray &p_data) { if (p_status != HTTPRequest::RESULT_SUCCESS || p_code != 200) { - EditorNode::get_singleton()->show_warning("Error getting the list of mirrors."); + EditorNode::get_singleton()->show_warning(TTR("Error getting the list of mirrors.")); return; } @@ -371,7 +371,7 @@ void ExportTemplateManager::_http_download_mirror_completed(int p_status, int p_ int errline; Error err = JSON::parse(mirror_str, r, errs, errline); if (err != OK) { - EditorNode::get_singleton()->show_warning("Error parsing JSON of mirror list. Please report this issue!"); + EditorNode::get_singleton()->show_warning(TTR("Error parsing JSON of mirror list. Please report this issue!")); return; } diff --git a/editor/filesystem_dock.cpp b/editor/filesystem_dock.cpp index 16bb62ad17..74db397121 100644 --- a/editor/filesystem_dock.cpp +++ b/editor/filesystem_dock.cpp @@ -128,6 +128,11 @@ bool FileSystemDock::_create_tree(TreeItem *p_parent, EditorFileSystemDirectory udata.push_back(file_item); EditorResourcePreview::get_singleton()->queue_resource_preview(file_metadata, this, "_tree_thumbnail_done", udata); } + } else if (display_mode == DISPLAY_MODE_SPLIT) { + if (lpath.get_base_dir() == path.get_base_dir()) { + subdirectory_item->select(0); + subdirectory_item->set_as_cursor(0); + } } if (searched_string.length() > 0) { @@ -1750,8 +1755,8 @@ void FileSystemDock::_file_option(int p_option, const Vector<String> &p_selected if (!fpath.ends_with("/")) { fpath = fpath.get_base_dir(); } - make_script_dialog_text->config("Node", fpath.plus_file("new_script.gd"), false); - make_script_dialog_text->popup_centered(Size2(300, 300) * EDSCALE); + make_script_dialog->config("Node", fpath.plus_file("new_script.gd"), false); + make_script_dialog->popup_centered(Size2(300, 300) * EDSCALE); } break; case FILE_COPY_PATH: { @@ -2686,9 +2691,9 @@ FileSystemDock::FileSystemDock(EditorNode *p_editor) { make_scene_dialog->register_text_enter(make_scene_dialog_text); make_scene_dialog->connect("confirmed", this, "_make_scene_confirm"); - make_script_dialog_text = memnew(ScriptCreateDialog); - make_script_dialog_text->set_title(TTR("Create Script")); - add_child(make_script_dialog_text); + make_script_dialog = memnew(ScriptCreateDialog); + make_script_dialog->set_title(TTR("Create Script")); + add_child(make_script_dialog); new_resource_dialog = memnew(CreateDialog); add_child(new_resource_dialog); diff --git a/editor/filesystem_dock.h b/editor/filesystem_dock.h index d81a5133f2..f8e0eb4d71 100644 --- a/editor/filesystem_dock.h +++ b/editor/filesystem_dock.h @@ -140,7 +140,7 @@ private: ConfirmationDialog *make_scene_dialog; LineEdit *make_scene_dialog_text; ConfirmationDialog *overwrite_dialog; - ScriptCreateDialog *make_script_dialog_text; + ScriptCreateDialog *make_script_dialog; CreateDialog *new_resource_dialog; bool always_show_folders; diff --git a/editor/import/editor_scene_importer_gltf.cpp b/editor/import/editor_scene_importer_gltf.cpp index be066e15a5..796b950444 100644 --- a/editor/import/editor_scene_importer_gltf.cpp +++ b/editor/import/editor_scene_importer_gltf.cpp @@ -855,25 +855,24 @@ PoolVector<Color> EditorSceneImporterGLTF::_decode_accessor_as_color(GLTFState & const int type = state.accessors[p_accessor].type; ERR_FAIL_COND_V(!(type == TYPE_VEC3 || type == TYPE_VEC4), ret); - int components; - if (type == TYPE_VEC3) { - components = 3; - } else { // TYPE_VEC4 - components = 4; + int vec_len = 3; + if (type == TYPE_VEC4) { + vec_len = 4; } - ERR_FAIL_COND_V(attribs.size() % components != 0, ret); + ERR_FAIL_COND_V(attribs.size() % vec_len != 0, ret); const double *attribs_ptr = attribs.ptr(); - const int ret_size = attribs.size() / components; + const int ret_size = attribs.size() / vec_len; ret.resize(ret_size); { PoolVector<Color>::Write w = ret.write(); for (int i = 0; i < ret_size; i++) { - w[i] = Color(attribs_ptr[i * 4 + 0], attribs_ptr[i * 4 + 1], attribs_ptr[i * 4 + 2], components == 4 ? attribs_ptr[i * 4 + 3] : 1.0); + w[i] = Color(attribs_ptr[i * vec_len + 0], attribs_ptr[i * vec_len + 1], attribs_ptr[i * vec_len + 2], vec_len == 4 ? attribs_ptr[i * 4 + 3] : 1.0); } } return ret; } + Vector<Quat> EditorSceneImporterGLTF::_decode_accessor_as_quat(GLTFState &state, const GLTFAccessorIndex p_accessor, const bool p_for_vertex) { const Vector<double> attribs = _decode_accessor(state, p_accessor, p_for_vertex); diff --git a/editor/plugins/animation_state_machine_editor.cpp b/editor/plugins/animation_state_machine_editor.cpp index e56d9d070f..884e665494 100644 --- a/editor/plugins/animation_state_machine_editor.cpp +++ b/editor/plugins/animation_state_machine_editor.cpp @@ -263,7 +263,7 @@ void AnimationNodeStateMachineEditor::_state_machine_gui_input(const Ref<InputEv if (connecting_to_node != StringName()) { if (state_machine->has_transition(connecting_from, connecting_to_node)) { - EditorNode::get_singleton()->show_warning("Transition exists!"); + EditorNode::get_singleton()->show_warning(TTR("Transition exists!")); } else { diff --git a/editor/plugins/mesh_instance_editor_plugin.cpp b/editor/plugins/mesh_instance_editor_plugin.cpp index 3f9e1da5e7..1ead1b8062 100644 --- a/editor/plugins/mesh_instance_editor_plugin.cpp +++ b/editor/plugins/mesh_instance_editor_plugin.cpp @@ -457,7 +457,7 @@ MeshInstanceEditor::MeshInstanceEditor() { add_child(err_dialog); debug_uv_dialog = memnew(AcceptDialog); - debug_uv_dialog->set_title("UV Channel Debug"); + debug_uv_dialog->set_title(TTR("UV Channel Debug")); add_child(debug_uv_dialog); debug_uv = memnew(Control); debug_uv->set_custom_minimum_size(Size2(600, 600) * EDSCALE); diff --git a/editor/plugins/mesh_library_editor_plugin.cpp b/editor/plugins/mesh_library_editor_plugin.cpp index fc3ca38104..1e4dd9d6bf 100644 --- a/editor/plugins/mesh_library_editor_plugin.cpp +++ b/editor/plugins/mesh_library_editor_plugin.cpp @@ -241,7 +241,7 @@ void MeshLibraryEditor::_menu_cbk(int p_option) { } break; case MENU_OPTION_UPDATE_FROM_SCENE: { - cd->set_text("Update from existing scene?:\n" + String(mesh_library->get_meta("_editor_source_scene"))); + cd->set_text(vformat(TTR("Update from existing scene?:\n%s"), String(mesh_library->get_meta("_editor_source_scene")))); cd->popup_centered(Size2(500, 60)); } break; } diff --git a/editor/plugins/script_editor_plugin.cpp b/editor/plugins/script_editor_plugin.cpp index b809397b95..f8313978c4 100644 --- a/editor/plugins/script_editor_plugin.cpp +++ b/editor/plugins/script_editor_plugin.cpp @@ -1270,12 +1270,15 @@ void ScriptEditor::_menu_option(int p_option) { _copy_script_path(); } break; case SHOW_IN_FILE_SYSTEM: { - RES script = current->get_edited_resource(); - FileSystemDock *file_system_dock = EditorNode::get_singleton()->get_filesystem_dock(); - file_system_dock->navigate_to_path(script->get_path()); - // Ensure that the FileSystem dock is visible. - TabContainer *tab_container = (TabContainer *)file_system_dock->get_parent_control(); - tab_container->set_current_tab(file_system_dock->get_position_in_parent()); + const RES script = current->get_edited_resource(); + const String path = script->get_path(); + if (!path.empty()) { + FileSystemDock *file_system_dock = EditorNode::get_singleton()->get_filesystem_dock(); + file_system_dock->navigate_to_path(path); + // Ensure that the FileSystem dock is visible. + TabContainer *tab_container = (TabContainer *)file_system_dock->get_parent_control(); + tab_container->set_current_tab(file_system_dock->get_position_in_parent()); + } } break; case CLOSE_DOCS: { _close_docs_tab(); diff --git a/editor/plugins/script_text_editor.cpp b/editor/plugins/script_text_editor.cpp index 4c23e3fcd2..ef6f864a87 100644 --- a/editor/plugins/script_text_editor.cpp +++ b/editor/plugins/script_text_editor.cpp @@ -1560,7 +1560,7 @@ void ScriptTextEditor::drop_data_fw(const Point2 &p_point, const Variant &p_data Node *sn = _find_script_node(get_tree()->get_edited_scene_root(), get_tree()->get_edited_scene_root(), script); if (!sn) { - EditorNode::get_singleton()->show_warning("Can't drop nodes because script '" + get_name() + "' is not used in this scene."); + EditorNode::get_singleton()->show_warning(vformat(TTR("Can't drop nodes because script '%s' is not used in this scene."), get_name())); return; } diff --git a/editor/plugins/sprite_editor_plugin.cpp b/editor/plugins/sprite_editor_plugin.cpp index 6846b810a0..7759fd2fa6 100644 --- a/editor/plugins/sprite_editor_plugin.cpp +++ b/editor/plugins/sprite_editor_plugin.cpp @@ -126,7 +126,7 @@ void SpriteEditor::_menu_option(int p_option) { case MENU_OPTION_CONVERT_TO_MESH_2D: { debug_uv_dialog->get_ok()->set_text(TTR("Create Mesh2D")); - debug_uv_dialog->set_title("Mesh2D Preview"); + debug_uv_dialog->set_title(TTR("Mesh2D Preview")); _update_mesh_data(); debug_uv_dialog->popup_centered(); @@ -136,7 +136,7 @@ void SpriteEditor::_menu_option(int p_option) { case MENU_OPTION_CONVERT_TO_POLYGON_2D: { debug_uv_dialog->get_ok()->set_text(TTR("Create Polygon2D")); - debug_uv_dialog->set_title("Polygon2D Preview"); + debug_uv_dialog->set_title(TTR("Polygon2D Preview")); _update_mesh_data(); debug_uv_dialog->popup_centered(); @@ -145,7 +145,7 @@ void SpriteEditor::_menu_option(int p_option) { case MENU_OPTION_CREATE_COLLISION_POLY_2D: { debug_uv_dialog->get_ok()->set_text(TTR("Create CollisionPolygon2D")); - debug_uv_dialog->set_title("CollisionPolygon2D Preview"); + debug_uv_dialog->set_title(TTR("CollisionPolygon2D Preview")); _update_mesh_data(); debug_uv_dialog->popup_centered(); @@ -155,7 +155,7 @@ void SpriteEditor::_menu_option(int p_option) { case MENU_OPTION_CREATE_LIGHT_OCCLUDER_2D: { debug_uv_dialog->get_ok()->set_text(TTR("Create LightOccluder2D")); - debug_uv_dialog->set_title("LightOccluder2D Preview"); + debug_uv_dialog->set_title(TTR("LightOccluder2D Preview")); _update_mesh_data(); debug_uv_dialog->popup_centered(); diff --git a/editor/plugins/sprite_frames_editor_plugin.cpp b/editor/plugins/sprite_frames_editor_plugin.cpp index 27a5a1fb42..dd58ec23ce 100644 --- a/editor/plugins/sprite_frames_editor_plugin.cpp +++ b/editor/plugins/sprite_frames_editor_plugin.cpp @@ -204,7 +204,7 @@ void SpriteFramesEditor::_prepare_sprite_sheet(const String &p_file) { Ref<Resource> texture = ResourceLoader::load(p_file); if (!texture.is_valid()) { - EditorNode::get_singleton()->show_warning("Unable to load images"); + EditorNode::get_singleton()->show_warning(TTR("Unable to load images")); ERR_FAIL_COND(!texture.is_valid()); } if (texture != split_sheet_preview->get_texture()) { diff --git a/editor/plugins/theme_editor_plugin.cpp b/editor/plugins/theme_editor_plugin.cpp index 3fc77dae02..52c28b84f6 100644 --- a/editor/plugins/theme_editor_plugin.cpp +++ b/editor/plugins/theme_editor_plugin.cpp @@ -910,7 +910,7 @@ ThemeEditorPlugin::ThemeEditorPlugin(EditorNode *p_node) { editor = p_node; theme_editor = memnew(ThemeEditor); - theme_editor->set_custom_minimum_size(Size2(0, 200)); + theme_editor->set_custom_minimum_size(Size2(0, 200) * EDSCALE); button = editor->add_bottom_panel_item(TTR("Theme"), theme_editor); button->hide(); diff --git a/editor/plugins/tile_set_editor_plugin.cpp b/editor/plugins/tile_set_editor_plugin.cpp index f6dbbbb0a9..6e0158670d 100644 --- a/editor/plugins/tile_set_editor_plugin.cpp +++ b/editor/plugins/tile_set_editor_plugin.cpp @@ -2037,10 +2037,10 @@ void TileSetEditor::_update_toggle_shape_button() { tools[SHAPE_TOGGLE_TYPE]->hide(); } else if (concave.is_valid()) { tools[SHAPE_TOGGLE_TYPE]->set_icon(get_icon("ConvexPolygonShape2D", "EditorIcons")); - tools[SHAPE_TOGGLE_TYPE]->set_text("Make Convex"); + tools[SHAPE_TOGGLE_TYPE]->set_text(TTR("Make Convex")); } else if (convex.is_valid()) { tools[SHAPE_TOGGLE_TYPE]->set_icon(get_icon("ConcavePolygonShape2D", "EditorIcons")); - tools[SHAPE_TOGGLE_TYPE]->set_text("Make Concave"); + tools[SHAPE_TOGGLE_TYPE]->set_text(TTR("Make Concave")); } else { // Shouldn't happen separator_shape_toggle->hide(); diff --git a/editor/rename_dialog.cpp b/editor/rename_dialog.cpp index cc9e14975f..9f77f9d82a 100644 --- a/editor/rename_dialog.cpp +++ b/editor/rename_dialog.cpp @@ -32,6 +32,7 @@ #include "core/print_string.h" #include "editor_node.h" +#include "editor_scale.h" #include "editor_settings.h" #include "editor_themes.h" #include "modules/regex/regex.h" @@ -106,7 +107,7 @@ RenameDialog::RenameDialog(SceneTreeEditor *p_scene_tree_editor, UndoRedo *p_und // -- Feature Tabs - const int feature_min_height = 160; + const int feature_min_height = 160 * EDSCALE; Ref<Theme> collapse_theme = create_editor_theme(); collapse_theme->set_icon("checked", "CheckBox", collapse_theme->get_icon("GuiTreeArrowDown", "EditorIcons")); |