summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--ConfigBase.hpp13
1 files changed, 13 insertions, 0 deletions
diff --git a/ConfigBase.hpp b/ConfigBase.hpp
index 07183f7..89617d1 100644
--- a/ConfigBase.hpp
+++ b/ConfigBase.hpp
@@ -346,5 +346,18 @@ private:
QString curFileName = "";
};
+template<typename ConfigClass>
+class ClearableConfigBase : public ConfigBase {
+public:
+ explicit ClearableConfigBase(QMap<QString, ConfigValueBase*> configValues) : ConfigBase(configValues) {}
+
+ void clear()
+ {
+ auto configVals = configValues;
+ *this = ConfigClass();
+ configValues = configVals;
+ }
+};
+
#endif // CONFIGBASE