From 847e73d18f27e960493780b3f570dd036e32dd8b Mon Sep 17 00:00:00 2001 From: Ben Boeckel Date: Tue, 17 Mar 2009 21:29:22 -0400 Subject: Overrides let us be smarter --- sigscript/Config.cpp | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) (limited to 'sigscript/Config.cpp') diff --git a/sigscript/Config.cpp b/sigscript/Config.cpp index 00dcc21e..25efc677 100644 --- a/sigscript/Config.cpp +++ b/sigscript/Config.cpp @@ -99,7 +99,7 @@ QStringList Config::values(const bool recursive) const bool Config::setOptions(const QString& name, const ConfigOptions newOptions) { - if ((~options(name) & newOptions) || addValue(name, QVariant())) + if ((~options(name) & newOptions) || (overrides(name) & newOptions) || addValue(name, QVariant())) { m_values.setOptions(name, newOptions); emit(optionsChanged(name, options(name))); @@ -110,7 +110,7 @@ bool Config::setOptions(const QString& name, const ConfigOptions newOptions) bool Config::unsetOptions(const QString& name, const ConfigOptions oldOptions) { - if (options(name) & oldOptions) + if ((options(name) & oldOptions) || (overrides(name) & oldOptions)) { m_values.unsetOptions(name, oldOptions); emit(optionsChanged(name, options(name))); @@ -133,6 +133,7 @@ bool Config::setOverrides(const QString& name, const ConfigOptions newOverrides) { if ((~overrides(name) & newOverrides) || addValue(name, QVariant())) { + m_values.setOptions(name, options(name) & newOverrides); m_values.setOverrides(name, newOverrides); emit(overridesChanged(name, overrides(name))); return true; -- cgit