From 7aa63e9726cce0af169e55dc4d2c720150d74871 Mon Sep 17 00:00:00 2001 From: Jonathan G Rennison Date: Thu, 10 Jun 2021 22:12:10 +0100 Subject: [PATCH] Update status bar sizing when changing date/time display settings --- src/settings.cpp | 2 ++ src/statusbar_gui.cpp | 3 +++ src/statusbar_gui.h | 1 + src/table/settings.ini | 2 +- 4 files changed, 7 insertions(+), 1 deletion(-) diff --git a/src/settings.cpp b/src/settings.cpp index 4884c5b3f5..da23129f1f 100644 --- a/src/settings.cpp +++ b/src/settings.cpp @@ -72,6 +72,7 @@ #include "scope_info.h" #include "viewport_func.h" #include "gui.h" +#include "statusbar_gui.h" #include "void_map.h" #include "station_base.h" @@ -1306,6 +1307,7 @@ static bool UpdateTimeSettings(int32 p1) { SetupTimeSettings(); InvalidateVehTimetableWindow(p1); + InvalidateWindowData(WC_STATUS_BAR, 0, SBI_REINIT); MarkWholeScreenDirty(); return true; } diff --git a/src/statusbar_gui.cpp b/src/statusbar_gui.cpp index e45b7b5abc..6767f6205c 100644 --- a/src/statusbar_gui.cpp +++ b/src/statusbar_gui.cpp @@ -210,6 +210,9 @@ struct StatusBarWindow : Window { this->ticker_scroll = TICKER_STOP; // reset ticker ... this->reminder_timeout.SetInterval(REMINDER_STOP); // ... and reminder break; + case SBI_REINIT: + this->ReInit(); + break; } } diff --git a/src/statusbar_gui.h b/src/statusbar_gui.h index 26503dbff1..b4828788ce 100644 --- a/src/statusbar_gui.h +++ b/src/statusbar_gui.h @@ -17,6 +17,7 @@ enum StatusBarInvalidate { SBI_SHOW_TICKER, ///< start scrolling news SBI_SHOW_REMINDER, ///< show a reminder (dot on the right side of the statusbar) SBI_NEWS_DELETED, ///< abort current news display (active news were deleted) + SBI_REINIT, ///< reinit status bar SBI_END }; diff --git a/src/table/settings.ini b/src/table/settings.ini index b1000f307f..5a5c85f268 100644 --- a/src/table/settings.ini +++ b/src/table/settings.ini @@ -4794,7 +4794,7 @@ max = 3 str = STR_CONFIG_SETTING_DATE_WITH_TIME strval = STR_CONFIG_SETTING_DATE_WITH_TIME_NONE strhelp = STR_CONFIG_SETTING_DATE_WITH_TIME_HELPTEXT -proc = RedrawScreen +proc = UpdateTimeSettings [SDTC_BOOL] var = gui.timetable_start_text_entry