diff options
author | Ben Boeckel <MathStuf@gmail.com> | 2009-03-16 20:30:40 -0400 |
---|---|---|
committer | Ben Boeckel <MathStuf@gmail.com> | 2009-03-17 17:34:01 -0400 |
commit | 0d1f8ca45a1ae5d3d52db5d0317ee4aeb927f59e (patch) | |
tree | 7326b0f15b0ffa574e0a11dffef4a0c85ab798c9 /sigscript | |
parent | 78bc77d3657d83e2aff236d3d672c0aadd16479f (diff) | |
download | sigen-0d1f8ca45a1ae5d3d52db5d0317ee4aeb927f59e.tar.gz sigen-0d1f8ca45a1ae5d3d52db5d0317ee4aeb927f59e.tar.xz sigen-0d1f8ca45a1ae5d3d52db5d0317ee4aeb927f59e.zip |
Reorganize Config
Diffstat (limited to 'sigscript')
-rw-r--r-- | sigscript/Config.cpp | 48 | ||||
-rw-r--r-- | sigscript/Config.h | 11 |
2 files changed, 30 insertions, 29 deletions
diff --git a/sigscript/Config.cpp b/sigscript/Config.cpp index a5502bc1..d7f38fd2 100644 --- a/sigscript/Config.cpp +++ b/sigscript/Config.cpp @@ -46,20 +46,6 @@ void Config::setValue(const QString& name, const QVariant& value, const Options emit(valueChanged(name, value)); } -void Config::setOptions(const QString& name, const Options options) -{ - QWriteLocker locker(&m_lock); - m_values[name].second |= options; - emit(optionsChanged(name, options)); -} - -void Config::unsetOptions(const QString& name, const Options options) -{ - QWriteLocker locker(&m_lock); - m_values[name].second |= ~options; - emit(optionsChanged(name, options)); -} - void Config::removeValue(const QString& name, const bool shadow) { QWriteLocker locker(&m_lock); @@ -102,16 +88,6 @@ bool Config::hasValue(const QString& name, const bool recursive) const return false; } -Config::Options 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 Config::values(const bool recursive) const { QStringList values = m_values.keys(); @@ -125,6 +101,30 @@ QStringList Config::values(const bool recursive) const return values.toSet().toList(); } +void Config::setOptions(const QString& name, const Options options) +{ + QWriteLocker locker(&m_lock); + m_values[name].second |= options; + emit(optionsChanged(name, options)); +} + +void Config::unsetOptions(const QString& name, const Options options) +{ + QWriteLocker locker(&m_lock); + m_values[name].second |= ~options; + emit(optionsChanged(name, options)); +} + +Config::Options 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; +} + void Config::clean() { QWriteLocker locker(&m_lock); diff --git a/sigscript/Config.h b/sigscript/Config.h index f222bc02..12ebc8cc 100644 --- a/sigscript/Config.h +++ b/sigscript/Config.h @@ -55,22 +55,23 @@ class SIGSCRIPT_EXPORT Config : public QObject template<typename T> bool valueOfType(const QString& name, T* value, const bool recursive = true) const; 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 QStringList values(const bool recursive = false) 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); void valueChanged(const QString& name, const QVariant& newValue); - void optionsChanged(const QString& name, const Options newOptions); void valueRemoved(const QString& name); + + void optionsChanged(const QString& name, const Sigscript::Config::Options newOptions); public slots: void addValue(const QString& name, const QVariant& value, const Options options = 0); void setValue(const QString& name, const QVariant& value, const Options options = 0); - void setOptions(const QString& name, const Options options); - void unsetOptions(const QString& name, const Options options); void removeValue(const QString& name, const bool shadow = false); + void setOptions(const QString& name, const Sigscript::Config::Options options); + void unsetOptions(const QString& name, const Sigscript::Config::Options options); + void clean(); virtual void writeBack(); |