From 2a22063d77054eaed4ae7ee675a74551e2a3b911 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Lo=C3=AFc=20Guilloux?= Date: Wed, 6 Dec 2023 15:44:38 +0100 Subject: [PATCH] Change: Remember the active game option window tab (#11547) --- src/settings_gui.cpp | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/src/settings_gui.cpp b/src/settings_gui.cpp index 4ac75e72d4..4587b1c2e1 100644 --- a/src/settings_gui.cpp +++ b/src/settings_gui.cpp @@ -170,6 +170,7 @@ struct GameOptionsWindow : Window { GameSettings *opt; bool reload; int gui_scale; + static inline int active_tab = WID_GO_TAB_GENERAL; GameOptionsWindow(WindowDesc *desc) : Window(desc) { @@ -182,7 +183,7 @@ struct GameOptionsWindow : Window { this->InitNested(WN_GAME_OPTIONS_GAME_OPTIONS); this->OnInvalidateData(0); - this->SetTab(WID_GO_TAB_GENERAL); + this->SetTab(GameOptionsWindow::active_tab); if constexpr (!NetworkSurveyHandler::IsSurveyPossible()) this->GetWidget(WID_GO_SURVEY_SEL)->SetDisplayedPlane(SZSP_NONE); } @@ -387,6 +388,7 @@ struct GameOptionsWindow : Window { { this->SetWidgetsLoweredState(false, WID_GO_TAB_GENERAL, WID_GO_TAB_GRAPHICS, WID_GO_TAB_SOUND); this->LowerWidget(widget); + GameOptionsWindow::active_tab = widget; int pane = 0; if (widget == WID_GO_TAB_GRAPHICS) pane = 1;