Fix TextEditor not checking Standard highlighter in non-English UI

When using non-English UI, there were `Index p_idx = -1 is out of bounds (items.size() = 2).`
errors on on startup if any text file is open in the script editor. And clicking the Standard
highlighter option does not check that menu item.

This is caused by `TextEditor` searching for that menu item with unlocalized text. As already
did in `ScriptTextEditor`, this PR stores and searches for menu item with `TTR`ed text.

(cherry picked from commit a66339a549)
This commit is contained in:
Haoyu Qiu 2021-08-18 10:42:12 +08:00 committed by Rémi Verschelde
parent a9bffd5878
commit dff81b25cd
No known key found for this signature in database
GPG Key ID: C3336907360768E1
1 changed files with 2 additions and 2 deletions

View File

@ -44,7 +44,7 @@ void TextEditor::set_syntax_highlighter(SyntaxHighlighter *p_highlighter) {
if (p_highlighter != NULL) {
highlighter_menu->set_item_checked(highlighter_menu->get_item_idx_from_text(p_highlighter->get_name()), true);
} else {
highlighter_menu->set_item_checked(highlighter_menu->get_item_idx_from_text("Standard"), true);
highlighter_menu->set_item_checked(highlighter_menu->get_item_idx_from_text(TTR("Standard")), true);
}
// little work around. GDScript highlighter goes through text_edit for colours,
@ -700,7 +700,7 @@ TextEditor::TextEditor() {
convert_case->add_shortcut(ED_SHORTCUT("script_text_editor/capitalize", TTR("Capitalize")), EDIT_CAPITALIZE);
convert_case->connect("id_pressed", this, "_edit_option");
highlighters["Standard"] = NULL;
highlighters[TTR("Standard")] = NULL;
highlighter_menu = memnew(PopupMenu);
highlighter_menu->set_name("highlighter_menu");
edit_menu->get_popup()->add_child(highlighter_menu);