Move CodeEdit theme overrides into EditorTheme
This commit is contained in:
parent
b73983340d
commit
b6f5912174
4 changed files with 35 additions and 41 deletions
|
@ -1520,40 +1520,12 @@ void CodeTextEditor::goto_error() {
|
|||
}
|
||||
|
||||
void CodeTextEditor::_update_text_editor_theme() {
|
||||
text_editor->add_theme_color_override("background_color", EDITOR_GET("text_editor/highlighting/background_color"));
|
||||
text_editor->add_theme_color_override("completion_background_color", EDITOR_GET("text_editor/highlighting/completion_background_color"));
|
||||
text_editor->add_theme_color_override("completion_selected_color", EDITOR_GET("text_editor/highlighting/completion_selected_color"));
|
||||
text_editor->add_theme_color_override("completion_existing_color", EDITOR_GET("text_editor/highlighting/completion_existing_color"));
|
||||
text_editor->add_theme_color_override("completion_scroll_color", EDITOR_GET("text_editor/highlighting/completion_scroll_color"));
|
||||
text_editor->add_theme_color_override("completion_font_color", EDITOR_GET("text_editor/highlighting/completion_font_color"));
|
||||
text_editor->add_theme_color_override("font_color", EDITOR_GET("text_editor/highlighting/text_color"));
|
||||
text_editor->add_theme_color_override("line_number_color", EDITOR_GET("text_editor/highlighting/line_number_color"));
|
||||
text_editor->add_theme_color_override("caret_color", EDITOR_GET("text_editor/highlighting/caret_color"));
|
||||
text_editor->add_theme_color_override("caret_background_color", EDITOR_GET("text_editor/highlighting/caret_background_color"));
|
||||
text_editor->add_theme_color_override("font_selected_color", EDITOR_GET("text_editor/highlighting/text_selected_color"));
|
||||
text_editor->add_theme_color_override("selection_color", EDITOR_GET("text_editor/highlighting/selection_color"));
|
||||
text_editor->add_theme_color_override("brace_mismatch_color", EDITOR_GET("text_editor/highlighting/brace_mismatch_color"));
|
||||
text_editor->add_theme_color_override("current_line_color", EDITOR_GET("text_editor/highlighting/current_line_color"));
|
||||
text_editor->add_theme_color_override("line_length_guideline_color", EDITOR_GET("text_editor/highlighting/line_length_guideline_color"));
|
||||
text_editor->add_theme_color_override("word_highlighted_color", EDITOR_GET("text_editor/highlighting/word_highlighted_color"));
|
||||
text_editor->add_theme_color_override("bookmark_color", EDITOR_GET("text_editor/highlighting/bookmark_color"));
|
||||
text_editor->add_theme_color_override("breakpoint_color", EDITOR_GET("text_editor/highlighting/breakpoint_color"));
|
||||
text_editor->add_theme_color_override("executing_line_color", EDITOR_GET("text_editor/highlighting/executing_line_color"));
|
||||
text_editor->add_theme_color_override("code_folding_color", EDITOR_GET("text_editor/highlighting/code_folding_color"));
|
||||
text_editor->add_theme_color_override("search_result_color", EDITOR_GET("text_editor/highlighting/search_result_color"));
|
||||
text_editor->add_theme_color_override("search_result_border_color", EDITOR_GET("text_editor/highlighting/search_result_border_color"));
|
||||
text_editor->add_theme_constant_override("line_spacing", EDITOR_DEF("text_editor/theme/line_spacing", 6));
|
||||
emit_signal(SNAME("load_theme_settings"));
|
||||
_load_theme_settings();
|
||||
}
|
||||
|
||||
void CodeTextEditor::_update_font() {
|
||||
text_editor->add_theme_font_override("font", get_theme_font(SNAME("source"), SNAME("EditorFonts")));
|
||||
text_editor->add_theme_font_size_override("font_size", get_theme_font_size(SNAME("source_size"), SNAME("EditorFonts")));
|
||||
|
||||
error->add_theme_font_override("font", get_theme_font(SNAME("status_source"), SNAME("EditorFonts")));
|
||||
error->add_theme_font_size_override("font_size", get_theme_font_size(SNAME("status_source_size"), SNAME("EditorFonts")));
|
||||
error->add_theme_color_override("font_color", get_theme_color(SNAME("error_color"), SNAME("Editor")));
|
||||
error->begin_bulk_theme_override();
|
||||
error->add_theme_font_override(SNAME("font"), get_theme_font(SNAME("status_source"), SNAME("EditorFonts")));
|
||||
error->add_theme_font_size_override(SNAME("font_size"), get_theme_font_size(SNAME("status_source_size"), SNAME("EditorFonts")));
|
||||
error->add_theme_color_override(SNAME("font_color"), get_theme_color(SNAME("error_color"), SNAME("Editor")));
|
||||
|
||||
Ref<Font> status_bar_font = get_theme_font(SNAME("status_source"), SNAME("EditorFonts"));
|
||||
int status_bar_font_size = get_theme_font_size(SNAME("status_source_size"), SNAME("EditorFonts"));
|
||||
|
@ -1567,6 +1539,7 @@ void CodeTextEditor::_update_font() {
|
|||
n->add_theme_font_size_override("font_size", status_bar_font_size);
|
||||
}
|
||||
}
|
||||
error->end_bulk_theme_override();
|
||||
}
|
||||
|
||||
void CodeTextEditor::_on_settings_change() {
|
||||
|
@ -1582,7 +1555,6 @@ void CodeTextEditor::_apply_settings_change() {
|
|||
settings_changed = false;
|
||||
|
||||
_update_text_editor_theme();
|
||||
_update_font();
|
||||
|
||||
font_size = EditorSettings::get_singleton()->get("interface/editor/code_font_size");
|
||||
|
||||
|
@ -1668,7 +1640,6 @@ void CodeTextEditor::_notification(int p_what) {
|
|||
update_toggle_scripts_button();
|
||||
}
|
||||
_update_text_editor_theme();
|
||||
_update_font();
|
||||
} break;
|
||||
case NOTIFICATION_ENTER_TREE: {
|
||||
error_button->set_icon(get_theme_icon(SNAME("StatusError"), SNAME("EditorIcons")));
|
||||
|
|
|
@ -168,7 +168,6 @@ class CodeTextEditor : public VBoxContainer {
|
|||
void _apply_settings_change();
|
||||
|
||||
void _update_text_editor_theme();
|
||||
void _update_font();
|
||||
void _complete_request();
|
||||
Ref<Texture2D> _get_completion_icon(const ScriptCodeCompletionOption &p_option);
|
||||
void _font_resize_timeout();
|
||||
|
|
|
@ -1051,19 +1051,17 @@ Ref<Theme> create_editor_theme(const Ref<Theme> p_theme) {
|
|||
theme->set_constant("line_spacing", "TextEdit", 4 * EDSCALE);
|
||||
|
||||
// CodeEdit
|
||||
theme->set_font("font", "CodeEdit", theme->get_font("source", "EditorFonts"));
|
||||
theme->set_font_size("font_size", "CodeEdit", theme->get_font_size("source_size", "EditorFonts"));
|
||||
theme->set_stylebox("normal", "CodeEdit", style_widget);
|
||||
theme->set_stylebox("focus", "CodeEdit", style_widget_hover);
|
||||
theme->set_stylebox("read_only", "CodeEdit", style_widget_disabled);
|
||||
theme->set_constant("side_margin", "TabContainer", 0);
|
||||
theme->set_icon("tab", "CodeEdit", theme->get_icon("GuiTab", "EditorIcons"));
|
||||
theme->set_icon("space", "CodeEdit", theme->get_icon("GuiSpace", "EditorIcons"));
|
||||
theme->set_icon("folded", "CodeEdit", theme->get_icon("GuiTreeArrowRight", "EditorIcons"));
|
||||
theme->set_icon("can_fold", "CodeEdit", theme->get_icon("GuiTreeArrowDown", "EditorIcons"));
|
||||
theme->set_icon("executing_line", "CodeEdit", theme->get_icon("MainPlay", "EditorIcons"));
|
||||
theme->set_color("font_color", "CodeEdit", font_color);
|
||||
theme->set_color("caret_color", "CodeEdit", font_color);
|
||||
theme->set_color("selection_color", "CodeEdit", selection_color);
|
||||
theme->set_constant("line_spacing", "CodeEdit", 4 * EDSCALE);
|
||||
theme->set_constant("line_spacing", "CodeEdit", EDITOR_DEF("text_editor/theme/line_spacing", 6));
|
||||
|
||||
// H/VSplitContainer
|
||||
theme->set_stylebox("bg", "VSplitContainer", make_stylebox(theme->get_icon("GuiVsplitBg", "EditorIcons"), 1, 1, 1, 1));
|
||||
|
@ -1474,6 +1472,29 @@ Ref<Theme> create_editor_theme(const Ref<Theme> p_theme) {
|
|||
setting->load_text_editor_theme();
|
||||
}
|
||||
|
||||
// Now theme is loaded, apply it to CodeEdit.
|
||||
theme->set_color("background_color", "CodeEdit", EDITOR_GET("text_editor/highlighting/background_color"));
|
||||
theme->set_color("completion_background_color", "CodeEdit", EDITOR_GET("text_editor/highlighting/completion_background_color"));
|
||||
theme->set_color("completion_selected_color", "CodeEdit", EDITOR_GET("text_editor/highlighting/completion_selected_color"));
|
||||
theme->set_color("completion_existing_color", "CodeEdit", EDITOR_GET("text_editor/highlighting/completion_existing_color"));
|
||||
theme->set_color("completion_scroll_color", "CodeEdit", EDITOR_GET("text_editor/highlighting/completion_scroll_color"));
|
||||
theme->set_color("completion_font_color", "CodeEdit", EDITOR_GET("text_editor/highlighting/completion_font_color"));
|
||||
theme->set_color("font_color", "CodeEdit", EDITOR_GET("text_editor/highlighting/text_color"));
|
||||
theme->set_color("line_number_color", "CodeEdit", EDITOR_GET("text_editor/highlighting/line_number_color"));
|
||||
theme->set_color("caret_color", "CodeEdit", EDITOR_GET("text_editor/highlighting/caret_color"));
|
||||
theme->set_color("font_selected_color", "CodeEdit", EDITOR_GET("text_editor/highlighting/text_selected_color"));
|
||||
theme->set_color("selection_color", "CodeEdit", EDITOR_GET("text_editor/highlighting/selection_color"));
|
||||
theme->set_color("brace_mismatch_color", "CodeEdit", EDITOR_GET("text_editor/highlighting/brace_mismatch_color"));
|
||||
theme->set_color("current_line_color", "CodeEdit", EDITOR_GET("text_editor/highlighting/current_line_color"));
|
||||
theme->set_color("line_length_guideline_color", "CodeEdit", EDITOR_GET("text_editor/highlighting/line_length_guideline_color"));
|
||||
theme->set_color("word_highlighted_color", "CodeEdit", EDITOR_GET("text_editor/highlighting/word_highlighted_color"));
|
||||
theme->set_color("bookmark_color", "CodeEdit", EDITOR_GET("text_editor/highlighting/bookmark_color"));
|
||||
theme->set_color("breakpoint_color", "CodeEdit", EDITOR_GET("text_editor/highlighting/breakpoint_color"));
|
||||
theme->set_color("executing_line_color", "CodeEdit", EDITOR_GET("text_editor/highlighting/executing_line_color"));
|
||||
theme->set_color("code_folding_color", "CodeEdit", EDITOR_GET("text_editor/highlighting/code_folding_color"));
|
||||
theme->set_color("search_result_color", "CodeEdit", EDITOR_GET("text_editor/highlighting/search_result_color"));
|
||||
theme->set_color("search_result_border_color", "CodeEdit", EDITOR_GET("text_editor/highlighting/search_result_border_color"));
|
||||
|
||||
return theme;
|
||||
}
|
||||
|
||||
|
|
|
@ -2906,7 +2906,10 @@ void CodeEdit::_text_changed() {
|
|||
while (lc /= 10) {
|
||||
line_number_digits++;
|
||||
}
|
||||
set_gutter_width(line_number_gutter, (line_number_digits + 1) * font->get_char_size('0', 0, font_size).width);
|
||||
|
||||
if (font.is_valid()) {
|
||||
set_gutter_width(line_number_gutter, (line_number_digits + 1) * font->get_char_size('0', 0, font_size).width);
|
||||
}
|
||||
|
||||
lc = get_line_count();
|
||||
int line_change_size = (lines_edited_to - lines_edited_from);
|
||||
|
|
Loading…
Reference in a new issue