aboutsummaryrefslogtreecommitdiffstats
path: root/src/libs/utils/namevaluedictionary.h
diff options
context:
space:
mode:
authorChristian Kandeler <christian.kandeler@qt.io>2019-07-09 17:41:30 +0200
committerChristian Kandeler <christian.kandeler@qt.io>2019-07-22 14:31:01 +0000
commit4d71c0f13e5854849a9836186f534dfab1ef9869 (patch)
tree3af786598de0a84221e20f9c3703bc8d8afee8c6 /src/libs/utils/namevaluedictionary.h
parentb1dbd7e3580fb92879e0b3e0c9d21c1fd8dc4012 (diff)
Let users disable environment entries
It's helpful to be able to temporarily disable environment variables, as opposed to having to remove (and then re-add) them entirely. Fixes: QTCREATORBUG-20984 Change-Id: Ib0d287035b9357507c4c19faaf3a1517382506b5 Reviewed-by: hjk <hjk@qt.io>
Diffstat (limited to 'src/libs/utils/namevaluedictionary.h')
-rw-r--r--src/libs/utils/namevaluedictionary.h18
1 files changed, 8 insertions, 10 deletions
diff --git a/src/libs/utils/namevaluedictionary.h b/src/libs/utils/namevaluedictionary.h
index af414a0c625..acb9800745c 100644
--- a/src/libs/utils/namevaluedictionary.h
+++ b/src/libs/utils/namevaluedictionary.h
@@ -33,7 +33,7 @@ namespace Utils {
using NameValuePair = std::pair<QString, QString>;
using NameValuePairs = QVector<NameValuePair>;
-using NameValueMap = QMap<QString, QString>;
+using NameValueMap = QMap<QString, QPair<QString, bool>>;
class QTCREATOR_UTILS_EXPORT NameValueDictionary
{
@@ -48,7 +48,7 @@ public:
QStringList toStringList() const;
QString value(const QString &key) const;
- void set(const QString &key, const QString &value);
+ void set(const QString &key, const QString &value, bool enabled = true);
void unset(const QString &key);
void modify(const NameValueItems &items);
/// Return the KeyValueDictionary changes necessary to modify this into the other environment.
@@ -61,15 +61,13 @@ public:
void clear();
int size() const;
- QString key(NameValueDictionary::const_iterator it) const { return it.key(); }
+ QString key(const_iterator it) const { return it.key(); }
+ QString value(const_iterator it) const { return it.value().first; }
+ bool isEnabled(const_iterator it) const { return it.value().second; }
- QString value(NameValueDictionary::const_iterator it) const { return it.value(); }
-
- NameValueDictionary::const_iterator constBegin() const { return m_values.constBegin(); }
-
- NameValueDictionary::const_iterator constEnd() const { return m_values.constEnd(); }
-
- NameValueDictionary::const_iterator constFind(const QString &name) const;
+ const_iterator constBegin() const { return m_values.constBegin(); }
+ const_iterator constEnd() const { return m_values.constEnd(); }
+ const_iterator constFind(const QString &name) const;
friend bool operator!=(const NameValueDictionary &first, const NameValueDictionary &second)
{