From c5078661a162607b70db4f341d686b27b3195166 Mon Sep 17 00:00:00 2001 From: Fedja Beader Date: Wed, 15 Jan 2020 16:56:46 +0100 Subject: [PATCH 1/2] Return proper type in GetUserLevel, for now no range checks. --- src/settings.cpp | 4 ++-- src/settings.h | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/settings.cpp b/src/settings.cpp index 6182edbc6b..0c78ee8308 100644 --- a/src/settings.cpp +++ b/src/settings.cpp @@ -1390,9 +1390,9 @@ void Settings::SetSplitBRoomHorizontally(const bool vertical) cfg().Write(_T( "/GUI/SplitBRoomHorizontally" ), vertical); } -int Settings::GetUserLevel() +Settings::UserLevel Settings::GetUserLevel() { - return cfg().Read(_T("/General/UserLevel"), NewUser); + return static_cast (cfg().Read(_T("/General/UserLevel"), NewUser)); } void Settings::SetUserLevel(int level) diff --git a/src/settings.h b/src/settings.h index 09a9e5860c..54d324b21d 100644 --- a/src/settings.h +++ b/src/settings.h @@ -288,7 +288,7 @@ class Settings : public SL::NonCopyable Developer = 1000 }; - int GetUserLevel(); + UserLevel GetUserLevel(); void SetUserLevel(int value); /*@}*/ From 0d10a04a56b861ead268d5e02f08bbc78095d26d Mon Sep 17 00:00:00 2001 From: Fedja Beader Date: Wed, 15 Jan 2020 16:58:47 +0100 Subject: [PATCH 2/2] Fix s#13: gui user level setting is not stored --- src/gui/options/lobbyoptionstab.cpp | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/src/gui/options/lobbyoptionstab.cpp b/src/gui/options/lobbyoptionstab.cpp index 26d81ddeee..415335ded8 100644 --- a/src/gui/options/lobbyoptionstab.cpp +++ b/src/gui/options/lobbyoptionstab.cpp @@ -191,7 +191,11 @@ LobbyOptionsTab::LobbyOptionsTab(wxWindow* parent) int user_level_choices_len = sizeof(user_level_choices) / sizeof(wxString); m_user_level_choice = new wxChoice(m_user_level_sizer->GetStaticBox(), wxID_ANY, wxDefaultPosition, wxDefaultSize, user_level_choices_len, user_level_choices); - m_user_level_choice->SetSelection(0); + Settings::UserLevel userLevel = sett().GetUserLevel(); + // Round up + m_user_level_choice->SetSelection( + userLevel <= Settings::UserLevel::NewUser ? 0 : + 1); m_user_level_sizer->Add(m_user_level_choice, 0, wxALL | wxEXPAND, 5);