diff options
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(); |