diff options
Diffstat (limited to 'apps/settings.c')
-rw-r--r-- | apps/settings.c | 30 |
1 files changed, 16 insertions, 14 deletions
diff --git a/apps/settings.c b/apps/settings.c index 7142cfb0c6..fbfa438ab5 100644 --- a/apps/settings.c +++ b/apps/settings.c | |||
@@ -876,37 +876,38 @@ void settings_apply(bool read_disk) | |||
876 | /* fonts need to be loaded before the WPS */ | 876 | /* fonts need to be loaded before the WPS */ |
877 | if (global_settings.font_file[0] | 877 | if (global_settings.font_file[0] |
878 | && global_settings.font_file[0] != '-') { | 878 | && global_settings.font_file[0] != '-') { |
879 | const char* loaded_font = font_filename(global_status.font_id[SCREEN_MAIN]); | 879 | int font_ui = screens[SCREEN_MAIN].getuifont(); |
880 | const char* loaded_font = font_filename(font_ui); | ||
880 | 881 | ||
881 | snprintf(buf, sizeof buf, FONT_DIR "/%s.fnt", | 882 | snprintf(buf, sizeof buf, FONT_DIR "/%s.fnt", |
882 | global_settings.font_file); | 883 | global_settings.font_file); |
883 | if (!loaded_font || strcmp(loaded_font, buf)) | 884 | if (!loaded_font || strcmp(loaded_font, buf)) |
884 | { | 885 | { |
885 | CHART2(">font_load ", global_settings.font_file); | 886 | CHART2(">font_load ", global_settings.font_file); |
886 | if (global_status.font_id[SCREEN_MAIN] >= 0) | 887 | if (font_ui >= 0) |
887 | font_unload(global_status.font_id[SCREEN_MAIN]); | 888 | font_unload(font_ui); |
888 | rc = font_load(buf); | 889 | rc = font_load(buf); |
889 | font_set_ui(rc); | ||
890 | CHART2("<font_load ", global_settings.font_file); | 890 | CHART2("<font_load ", global_settings.font_file); |
891 | global_status.font_id[SCREEN_MAIN] = rc; | 891 | screens[SCREEN_MAIN].setuifont(rc); |
892 | lcd_setfont(rc); | 892 | screens[SCREEN_MAIN].setfont(rc); |
893 | } | 893 | } |
894 | } | 894 | } |
895 | #ifdef HAVE_REMOTE_LCD | 895 | #ifdef HAVE_REMOTE_LCD |
896 | if ( global_settings.remote_font_file[0] | 896 | if ( global_settings.remote_font_file[0] |
897 | && global_settings.remote_font_file[0] != '-') { | 897 | && global_settings.remote_font_file[0] != '-') { |
898 | const char* loaded_font = font_filename(global_status.font_id[SCREEN_REMOTE]); | 898 | int font_ui = screens[SCREEN_REMOTE].getuifont(); |
899 | const char* loaded_font = font_filename(font_ui); | ||
899 | snprintf(buf, sizeof buf, FONT_DIR "/%s.fnt", | 900 | snprintf(buf, sizeof buf, FONT_DIR "/%s.fnt", |
900 | global_settings.remote_font_file); | 901 | global_settings.remote_font_file); |
901 | if (!loaded_font || strcmp(loaded_font, buf)) | 902 | if (!loaded_font || strcmp(loaded_font, buf)) |
902 | { | 903 | { |
903 | CHART2(">font_load_remoteui ", global_settings.remote_font_file); | 904 | CHART2(">font_load_remoteui ", global_settings.remote_font_file); |
904 | if (global_status.font_id[SCREEN_REMOTE] >= 0) | 905 | if (font_ui >= 0) |
905 | font_unload(global_status.font_id[SCREEN_REMOTE]); | 906 | font_unload(font_ui); |
906 | rc = font_load(buf); | 907 | rc = font_load(buf); |
907 | CHART2("<font_load_remoteui ", global_settings.remote_font_file); | 908 | CHART2("<font_load_remoteui ", global_settings.remote_font_file); |
908 | global_status.font_id[SCREEN_REMOTE] = rc; | 909 | screens[SCREEN_REMOTE].setuifont(rc); |
909 | lcd_remote_setfont(rc); | 910 | screens[SCREEN_REMOTE].setfont(rc); |
910 | } | 911 | } |
911 | } | 912 | } |
912 | #endif | 913 | #endif |
@@ -1076,10 +1077,11 @@ void settings_reset(void) | |||
1076 | #ifdef HAVE_LCD_BITMAP | 1077 | #ifdef HAVE_LCD_BITMAP |
1077 | FOR_NB_SCREENS(i) | 1078 | FOR_NB_SCREENS(i) |
1078 | { | 1079 | { |
1079 | if (global_status.font_id[i] > FONT_SYSFIXED) | 1080 | if (screens[i].getuifont() > FONT_SYSFIXED) |
1080 | { | 1081 | { |
1081 | font_unload(global_status.font_id[i]); | 1082 | font_unload(screens[i].getuifont()); |
1082 | global_status.font_id[i] = FONT_SYSFIXED; | 1083 | screens[i].setuifont(FONT_SYSFIXED); |
1084 | screens[i].setfont(FONT_SYSFIXED); | ||
1083 | } | 1085 | } |
1084 | } | 1086 | } |
1085 | #endif | 1087 | #endif |