From 77f8f9483630f1f4262038d8e559ccfb904277bf Mon Sep 17 00:00:00 2001 From: hjk Date: Wed, 18 May 2011 19:35:42 +0200 Subject: analyzer: simplify AnalyzerSubConfigFactory setup --- src/plugins/analyzerbase/analyzersettings.cpp | 26 ++++++++++---------------- 1 file changed, 10 insertions(+), 16 deletions(-) (limited to 'src/plugins/analyzerbase/analyzersettings.cpp') diff --git a/src/plugins/analyzerbase/analyzersettings.cpp b/src/plugins/analyzerbase/analyzersettings.cpp index 8d62b943615..fa00ab55d06 100644 --- a/src/plugins/analyzerbase/analyzersettings.cpp +++ b/src/plugins/analyzerbase/analyzersettings.cpp @@ -53,11 +53,6 @@ namespace Analyzer { AnalyzerGlobalSettings *AnalyzerGlobalSettings::m_instance = 0; -AbstractAnalyzerSubConfig::AbstractAnalyzerSubConfig(QObject *parent) - : QObject(parent) -{ -} - AnalyzerSettings::AnalyzerSettings(QObject *parent) : QObject(parent) { @@ -107,7 +102,6 @@ AnalyzerGlobalSettings *AnalyzerGlobalSettings::instance() AnalyzerGlobalSettings::~AnalyzerGlobalSettings() { - qDeleteAll(m_subConfigFactories); m_instance = 0; } @@ -138,29 +132,29 @@ void AnalyzerGlobalSettings::writeSettings() const settings->endGroup(); } -void AnalyzerGlobalSettings::registerSubConfigFactory(AbstractAnalyzerSubConfigFactory *factory) +void AnalyzerGlobalSettings::registerSubConfigs + (AnalyzerSubConfigFactory globalCreator, AnalyzerSubConfigFactory projectCreator) { - m_subConfigFactories << factory; + m_projectSubConfigs.append(projectCreator); - AbstractAnalyzerSubConfig *config = factory->createGlobalSubConfig(this); - addSubConfig(config); + AbstractAnalyzerSubConfig *config = globalCreator(); + config->setParent(this); AnalyzerPlugin::instance()->addAutoReleasedObject(new AnalyzerOptionsPage(config)); readSettings(); } -QList AnalyzerGlobalSettings::subConfigFactories() const +QList AnalyzerGlobalSettings::projectSubConfigs() const { - return m_subConfigFactories; + return m_projectSubConfigs; } AnalyzerProjectSettings::AnalyzerProjectSettings(QObject *parent) -: AnalyzerSettings(parent) + : AnalyzerSettings(parent) { // add sub configs - foreach (AbstractAnalyzerSubConfigFactory *factory, AnalyzerGlobalSettings::instance()->subConfigFactories()) { - addSubConfig(factory->createProjectSubConfig(parent)); - } + foreach (AnalyzerSubConfigFactory factory, AnalyzerGlobalSettings::instance()->projectSubConfigs()) + factory()->setParent(this); // take defaults from global settings AnalyzerGlobalSettings *gs = AnalyzerGlobalSettings::instance(); -- cgit v1.2.3