From 541ed4742c6368cc36c35ca74dba09b9d108283b Mon Sep 17 00:00:00 2001 From: Ben Boeckel Date: Wed, 31 Dec 2008 09:35:11 -0500 Subject: Changed Config to use Config as parents instead of plain QObject --- sigscript/Config.cpp | 20 ++++++++++++-------- 1 file changed, 12 insertions(+), 8 deletions(-) (limited to 'sigscript/Config.cpp') diff --git a/sigscript/Config.cpp b/sigscript/Config.cpp index 54774720..70644be5 100644 --- a/sigscript/Config.cpp +++ b/sigscript/Config.cpp @@ -18,9 +18,13 @@ // Header include #include "Config.h" -Sigscript::Config::Config(QObject* parent) : +// Qt includes +#include + +Sigscript::Config::Config(Config* parent) : QObject(parent), - m_lock(QReadWriteLock::Recursive) + m_lock(QReadWriteLock::Recursive), + m_parent(parent) { } @@ -78,12 +82,12 @@ QVariant Sigscript::Config::value(const QString& name, const bool recursive) con } if (recursive) { - QObject* par = parent(); + Config* par = m_parent; while (par) { - if (qobject_cast(par) && qobject_cast(par)->hasValue(name)) - return qobject_cast(par)->value(name); - par = par->parent(); + if (par->hasValue(name)) + return par->value(name); + par = par->m_parent; } } return QVariant(); @@ -94,8 +98,8 @@ bool Sigscript::Config::hasValue(const QString& name, const bool recursive) cons QReadLocker locker(&m_lock); if (m_values.contains(name)) return !(m_values[name].second & (Deleted | Hidden)); - if (recursive && qobject_cast(parent())) - return qobject_cast(parent())->hasValue(name, true); + if (recursive) + return m_parent->hasValue(name, true); return false; } -- cgit