diff options
author | Ben Boeckel <MathStuf@gmail.com> | 2009-02-12 15:12:12 -0500 |
---|---|---|
committer | Ben Boeckel <MathStuf@gmail.com> | 2009-02-12 15:12:12 -0500 |
commit | 29f8778b8855a14f26e10dba75c5616fd4755a30 (patch) | |
tree | 03d792f3fbd582ef4303f773c0aea30020d0eb31 /sigscript | |
parent | 13d65b650bebb52b05cfd0eeced328f64d7aaedc (diff) | |
download | sigen-29f8778b8855a14f26e10dba75c5616fd4755a30.tar.gz sigen-29f8778b8855a14f26e10dba75c5616fd4755a30.tar.xz sigen-29f8778b8855a14f26e10dba75c5616fd4755a30.zip |
Added options method to Config
Diffstat (limited to 'sigscript')
-rw-r--r-- | sigscript/Config.cpp | 10 | ||||
-rw-r--r-- | sigscript/Config.h | 2 |
2 files changed, 12 insertions, 0 deletions
diff --git a/sigscript/Config.cpp b/sigscript/Config.cpp index f498a9b0..fd8fe069 100644 --- a/sigscript/Config.cpp +++ b/sigscript/Config.cpp @@ -103,6 +103,16 @@ bool Sigscript::Config::hasValue(const QString& name, const bool recursive) cons return false; } +Sigscript::Config::Options Sigscript::Config::options(const QString& name, const bool recursive) const +{ + QReadLocker locker(&m_lock); + if (m_values.contains(name)) + return m_values[name].second; + if (recursive && m_parent) + return m_parent->options(name, recursive); + return 0; +} + QStringList Sigscript::Config::values(const bool recursive) const { QStringList values = m_values.keys(); diff --git a/sigscript/Config.h b/sigscript/Config.h index 209795bc..49e83c2d 100644 --- a/sigscript/Config.h +++ b/sigscript/Config.h @@ -62,6 +62,8 @@ class SIGSCRIPT_EXPORT Config : public QObject Q_SCRIPTABLE bool hasValue(const QString& name, const bool recursive = true) const; template<typename T> bool hasValueOfType(const QString& name, const bool recursive = true) const; + Q_SCRIPTABLE Options options(const QString& name, const bool recursive = true) const; + Q_SCRIPTABLE QStringList values(const bool recursive = false) const; signals: void valueAdded(const QString& name, const QVariant& value); |