aboutsummaryrefslogtreecommitdiffstats
path: root/src/plugins/analyzerbase/analyzersettings.cpp
diff options
context:
space:
mode:
authorhjk <[email protected]>2011-05-18 19:35:42 +0200
committerhjk <[email protected]>2011-05-18 20:14:16 +0200
commit77f8f9483630f1f4262038d8e559ccfb904277bf (patch)
tree636cc1cd5ea6e1cb11d6644d2589227aa6de350b /src/plugins/analyzerbase/analyzersettings.cpp
parent68504ab8a8b9c1084b9ece8081af921ca2a7f865 (diff)
analyzer: simplify AnalyzerSubConfigFactory setup
Diffstat (limited to 'src/plugins/analyzerbase/analyzersettings.cpp')
-rw-r--r--src/plugins/analyzerbase/analyzersettings.cpp26
1 files changed, 10 insertions, 16 deletions
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<AbstractAnalyzerSubConfigFactory *> AnalyzerGlobalSettings::subConfigFactories() const
+QList<AnalyzerSubConfigFactory> 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();