summaryrefslogtreecommitdiffstats
path: root/sigscript
diff options
context:
space:
mode:
authorBen Boeckel <MathStuf@gmail.com>2009-03-16 20:30:40 -0400
committerBen Boeckel <MathStuf@gmail.com>2009-03-17 17:34:01 -0400
commit0d1f8ca45a1ae5d3d52db5d0317ee4aeb927f59e (patch)
tree7326b0f15b0ffa574e0a11dffef4a0c85ab798c9 /sigscript
parent78bc77d3657d83e2aff236d3d672c0aadd16479f (diff)
downloadsigen-0d1f8ca45a1ae5d3d52db5d0317ee4aeb927f59e.tar.gz
sigen-0d1f8ca45a1ae5d3d52db5d0317ee4aeb927f59e.tar.xz
sigen-0d1f8ca45a1ae5d3d52db5d0317ee4aeb927f59e.zip
Reorganize Config
Diffstat (limited to 'sigscript')
-rw-r--r--sigscript/Config.cpp48
-rw-r--r--sigscript/Config.h11
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();