summaryrefslogtreecommitdiffstats
path: root/sigscript/Config.cpp
diff options
context:
space:
mode:
authorBen Boeckel <MathStuf@gmail.com>2008-12-31 09:36:23 -0500
committerBen Boeckel <MathStuf@gmail.com>2008-12-31 09:36:23 -0500
commit76adbe9f9582934ef865337c1ffc58e9106112b6 (patch)
tree543a048d5e5d12a337d6ad7135658e70ab251ed0 /sigscript/Config.cpp
parent541ed4742c6368cc36c35ca74dba09b9d108283b (diff)
downloadsigen-76adbe9f9582934ef865337c1ffc58e9106112b6.tar.gz
sigen-76adbe9f9582934ef865337c1ffc58e9106112b6.tar.xz
sigen-76adbe9f9582934ef865337c1ffc58e9106112b6.zip
Added values() method to Config
Diffstat (limited to 'sigscript/Config.cpp')
-rw-r--r--sigscript/Config.cpp13
1 files changed, 13 insertions, 0 deletions
diff --git a/sigscript/Config.cpp b/sigscript/Config.cpp
index 70644be5..9113badf 100644
--- a/sigscript/Config.cpp
+++ b/sigscript/Config.cpp
@@ -103,6 +103,19 @@ bool Sigscript::Config::hasValue(const QString& name, const bool recursive) cons
return false;
}
+QStringList Sigscript::Config::values(const bool recursive) const
+{
+ QStringList values = m_values.keys();
+ if (recursive && m_parent)
+ values += m_parent->values(true);
+ foreach (QString value, values)
+ {
+ if (m_values.contains(value) && (m_values[value].second & (Deleted | Hidden)))
+ values.removeAll(value);
+ }
+ return values.toSet().toList();
+}
+
void Sigscript::Config::clean()
{
QWriteLocker locker(&m_lock);