From dbd4d15144c727f967911d41d798758bfb9bad03 Mon Sep 17 00:00:00 2001 From: Markus Mittendrein Date: Thu, 8 Oct 2015 14:04:04 +0200 Subject: Add config get and config set commands and a -= config syntax to remove elements from a list or map (by key) --- src/CRSMConfig.hpp | 13 +++++++++++++ 1 file changed, 13 insertions(+) (limited to 'src/CRSMConfig.hpp') diff --git a/src/CRSMConfig.hpp b/src/CRSMConfig.hpp index b25b809..788b7e8 100644 --- a/src/CRSMConfig.hpp +++ b/src/CRSMConfig.hpp @@ -142,12 +142,14 @@ public: class CRSMConfigValueList : public CRSMConfigValueBase { public: virtual void append(const QString& entry) = 0; + virtual void remove(const QString& entry) = 0; virtual QStringList getValues() = 0; }; class CRSMConfigValueMap : public CRSMConfigValueBase { public: virtual void setKeyValue(const QString& key, const QString& value) = 0; + virtual void remove(const QString& key) = 0; virtual QMap getValues() = 0; }; @@ -172,6 +174,8 @@ public: } } + virtual void remove(const QString &entry) { config.removeAll(CRSMConfigValueBase::getValue(entry)); } + virtual QStringList getValues() { QStringList ret; @@ -213,6 +217,11 @@ public: return ret; } + + virtual void remove(const QString &key) + { + config.remove(CRSMConfigValueBase::getValue(key)); + } }; template @@ -250,12 +259,16 @@ public: explicit CRSMConfigBase(QMap configValues) : configValues(configValues) {} void setConfigValue(const QString& name, const QString& value); + QString getConfigValueLine(const QString& name); void addConfigListEntry(const QString& name, const QString& value); + void removeConfigMapListEntry(const QString &name, const QString &value); void setConfigMapValue(const QString& name, const QString& key, const QString& value); QString read(const QString& fileName, bool writeDefault = true); bool write(const QString& fileName); + void setConfigLine(const QString& line); + protected: void addConfigValue(QString name, CRSMConfigValueBase *value); CRSMConfigValueBase& getConfigValue(const QString &name); -- cgit v1.2.3-54-g00ecf