From 775c1d431d55e735be9516d84b583f4a956d8d7a Mon Sep 17 00:00:00 2001 From: Markus Mittendrein Date: Sun, 19 Aug 2018 23:33:23 +0200 Subject: Use ClearableConfigBase instead of implementing clear() several times --- src/CRSMConfig.hpp | 11 ++--------- src/CRSMPackCompatibility.cpp | 7 ------- src/CRSMPackCompatibility.hpp | 6 ++---- src/CRSMSession.cpp | 11 ++--------- src/CRSMSession.hpp | 4 +--- src/qt-config | 2 +- 6 files changed, 8 insertions(+), 33 deletions(-) (limited to 'src') diff --git a/src/CRSMConfig.hpp b/src/CRSMConfig.hpp index 9845ef0..c9b4ade 100644 --- a/src/CRSMConfig.hpp +++ b/src/CRSMConfig.hpp @@ -3,7 +3,7 @@ #include "qt-config/ConfigBase.hpp" #include "GreetingSetting.hpp" -class CRSMConfig : public ConfigBase { +class CRSMConfig : public ClearableConfigBase { public: struct { Port ManagementPort = 9372; @@ -114,7 +114,7 @@ public: Integer RereadLimit = 50; } Readline; - explicit CRSMConfig() : ConfigBase({ + explicit CRSMConfig() : ClearableConfigBase({ ConfigVal(CRSM.ManagementPort), ConfigVal(CRSM.ListFolder), ConfigVal(CRSM.CommandSigns), @@ -201,11 +201,4 @@ public: ConfigVal(Readline.PromptEnabled), ConfigVal(Readline.RereadLimit) }) {} - - void clear() - { - auto configVals = configValues; - *this = CRSMConfig(); - configValues = configVals; - } }; diff --git a/src/CRSMPackCompatibility.cpp b/src/CRSMPackCompatibility.cpp index b301288..e0389c8 100644 --- a/src/CRSMPackCompatibility.cpp +++ b/src/CRSMPackCompatibility.cpp @@ -18,13 +18,6 @@ namespace { } } -void CRSMPackCompatibility::clear() -{ - auto configVals = configValues; - *this = CRSMPackCompatibility(); - configValues = configVals; -} - QString CRSMPackCompatibility::linkScenarioPacks(const QString &scenario) { QString ret; diff --git a/src/CRSMPackCompatibility.hpp b/src/CRSMPackCompatibility.hpp index 9e81bed..5dbee20 100644 --- a/src/CRSMPackCompatibility.hpp +++ b/src/CRSMPackCompatibility.hpp @@ -1,7 +1,7 @@ #pragma once #include "qt-config/ConfigBase.hpp" -class CRSMPackCompatibility : public ConfigBase +class CRSMPackCompatibility : public ClearableConfigBase { public: Map(String, String) PackDefaultVersion; @@ -10,7 +10,7 @@ public: Map(String, String) ScenarioCmdOptions; String PacksDirectory = "Packs"; - CRSMPackCompatibility() : ConfigBase::ConfigBase({ + CRSMPackCompatibility() : ClearableConfigBase({ ConfigVal(PackDefaultVersion), ConfigVal(PackVersions), ConfigVal(PacksDirectory), @@ -18,8 +18,6 @@ public: ConfigVal(ScenarioCmdOptions) }) { } - void clear(); - QString linkScenarioPacks(const QString& scenario); QString getScenarioCmdOptions(const QString& scenario, bool all = true); diff --git a/src/CRSMSession.cpp b/src/CRSMSession.cpp index caba9e2..0a7e486 100644 --- a/src/CRSMSession.cpp +++ b/src/CRSMSession.cpp @@ -1,14 +1,7 @@ #include "CRSMSession.hpp" #include "crsm.hpp" -void CRSMSession::clear() -{ - auto configVals = configValues; - *this = CRSMSession(); - configValues = configVals; -} - -CRSMSession::CRSMSession() : ConfigBase::ConfigBase({ +CRSMSession::CRSMSession() : ClearableConfigBase({ ConfigVal(League), ConfigVal(State), ConfigVal(UserWish), @@ -21,7 +14,7 @@ CRSMSession::CRSMSession() : ConfigBase::ConfigBase({ ConfigVal(IRC.Admin), ConfigVal(IRC.UseIngameChat), - }) {} + }) {} CRSMSession::CRSMSession(CRSM *crsm) : CRSMSession() { diff --git a/src/CRSMSession.hpp b/src/CRSMSession.hpp index 5c9a72e..9d80a7d 100644 --- a/src/CRSMSession.hpp +++ b/src/CRSMSession.hpp @@ -20,7 +20,7 @@ public: } }; -struct CRSMSession : public ConfigBase { +struct CRSMSession : public ClearableConfigBase { enum SessionState {None = -1, Lobby = 0, Loading = 1, Running = 2}; Boolean League = false; @@ -43,8 +43,6 @@ struct CRSMSession : public ConfigBase { Boolean UseIngameChat = false; } IRC; - void clear(); - CRSMSession(); CRSMSession(CRSM* crsm); diff --git a/src/qt-config b/src/qt-config index 20b714e..8c95177 160000 --- a/src/qt-config +++ b/src/qt-config @@ -1 +1 @@ -Subproject commit 20b714ed29e5b0350c7fff6d59792c1f58cfb36d +Subproject commit 8c951771af60be9b0fa7b309df51887f5003fb5e -- cgit v1.2.3-54-g00ecf