summaryrefslogtreecommitdiffstats
path: root/ConfigBase.hpp
diff options
context:
space:
mode:
authorMarkus Mittendrein <git@maxmitti.tk>2018-08-19 23:31:44 +0200
committerMarkus Mittendrein <git@maxmitti.tk>2018-08-19 23:31:44 +0200
commit8c951771af60be9b0fa7b309df51887f5003fb5e (patch)
tree56d07616ecd818cacd29bb808c3ab81a22c06f92 /ConfigBase.hpp
parent20b714ed29e5b0350c7fff6d59792c1f58cfb36d (diff)
downloadqt-config-8c951771af60be9b0fa7b309df51887f5003fb5e.tar.gz
qt-config-8c951771af60be9b0fa7b309df51887f5003fb5e.zip
Add ClearableConfigBase
Diffstat (limited to 'ConfigBase.hpp')
-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