Fix Output panel colors on theme changing

This commit is contained in:
Yuri Roubinsky 2021-07-21 10:31:33 +03:00
parent 8cc599db64
commit 9ceeb5f9dd
2 changed files with 38 additions and 28 deletions

View File

@ -57,13 +57,19 @@ void EditorLog::_error_handler(void *p_self, const char *p_func, const char *p_f
} }
} }
void EditorLog::_notification(int p_what) { void EditorLog::_update_theme() {
if (p_what == NOTIFICATION_ENTER_TREE) { Ref<Font> normal_font = get_theme_font(SNAME("output_source"), SNAME("EditorFonts"));
//button->set_icon(get_icon("Console","EditorIcons")); if (normal_font.is_valid()) {
log->add_theme_font_override("normal_font", get_theme_font(SNAME("output_source"), SNAME("EditorFonts"))); log->add_theme_font_override("normal_font", normal_font);
}
log->add_theme_font_size_override("normal_font_size", get_theme_font_size(SNAME("output_source_size"), SNAME("EditorFonts"))); log->add_theme_font_size_override("normal_font_size", get_theme_font_size(SNAME("output_source_size"), SNAME("EditorFonts")));
log->add_theme_color_override("selection_color", get_theme_color(SNAME("accent_color"), SNAME("Editor")) * Color(1, 1, 1, 0.4)); log->add_theme_color_override("selection_color", get_theme_color(SNAME("accent_color"), SNAME("Editor")) * Color(1, 1, 1, 0.4));
log->add_theme_font_override("bold_font", get_theme_font(SNAME("bold"), SNAME("EditorFonts")));
Ref<Font> bold_font = get_theme_font(SNAME("bold"), SNAME("EditorFonts"));
if (bold_font.is_valid()) {
log->add_theme_font_override("bold_font", bold_font);
}
type_filter_map[MSG_TYPE_STD]->toggle_button->set_icon(get_theme_icon(SNAME("Popup"), SNAME("EditorIcons"))); type_filter_map[MSG_TYPE_STD]->toggle_button->set_icon(get_theme_icon(SNAME("Popup"), SNAME("EditorIcons")));
type_filter_map[MSG_TYPE_ERROR]->toggle_button->set_icon(get_theme_icon(SNAME("StatusError"), SNAME("EditorIcons"))); type_filter_map[MSG_TYPE_ERROR]->toggle_button->set_icon(get_theme_icon(SNAME("StatusError"), SNAME("EditorIcons")));
@ -74,18 +80,20 @@ void EditorLog::_notification(int p_what) {
copy_button->set_icon(get_theme_icon(SNAME("ActionCopy"), SNAME("EditorIcons"))); copy_button->set_icon(get_theme_icon(SNAME("ActionCopy"), SNAME("EditorIcons")));
collapse_button->set_icon(get_theme_icon(SNAME("CombineLines"), SNAME("EditorIcons"))); collapse_button->set_icon(get_theme_icon(SNAME("CombineLines"), SNAME("EditorIcons")));
show_search_button->set_icon(get_theme_icon(SNAME("Search"), SNAME("EditorIcons"))); show_search_button->set_icon(get_theme_icon(SNAME("Search"), SNAME("EditorIcons")));
}
void EditorLog::_notification(int p_what) {
switch (p_what) {
case NOTIFICATION_ENTER_TREE: {
_update_theme();
_load_state(); _load_state();
} break;
} else if (p_what == NOTIFICATION_THEME_CHANGED) { case NOTIFICATION_THEME_CHANGED: {
Ref<Font> df_output_code = get_theme_font(SNAME("output_source"), SNAME("EditorFonts")); _update_theme();
if (df_output_code.is_valid()) { _rebuild_log();
if (log != nullptr) { } break;
log->add_theme_font_override("normal_font", get_theme_font(SNAME("output_source"), SNAME("EditorFonts"))); default:
log->add_theme_font_size_override("normal_font_size", get_theme_font_size(SNAME("output_source_size"), SNAME("EditorFonts"))); break;
log->add_theme_color_override("selection_color", get_theme_color(SNAME("accent_color"), SNAME("Editor")) * Color(1, 1, 1, 0.4));
}
}
} }
} }

View File

@ -163,6 +163,8 @@ private:
void _save_state(); void _save_state();
void _load_state(); void _load_state();
void _update_theme();
protected: protected:
static void _bind_methods(); static void _bind_methods();
void _notification(int p_what); void _notification(int p_what);