# HG changeset patch # User Loïc Guilloux # Date 2023-12-06 14:44:38 # Node ID 1faffc24ff92009a323b5bdfd9821e96ab47c5e6 # Parent 1a1aea5b33dc3fb6623f0be6f9a3d07e23f54dd0 Change: Remember the active game option window tab (#11547) diff --git a/src/settings_gui.cpp b/src/settings_gui.cpp --- 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;