diff options
Diffstat (limited to 'src/plugins/analyzerbase/analyzersettings.cpp')
-rw-r--r-- | src/plugins/analyzerbase/analyzersettings.cpp | 22 |
1 files changed, 20 insertions, 2 deletions
diff --git a/src/plugins/analyzerbase/analyzersettings.cpp b/src/plugins/analyzerbase/analyzersettings.cpp index d612a6223e..c33077eeef 100644 --- a/src/plugins/analyzerbase/analyzersettings.cpp +++ b/src/plugins/analyzerbase/analyzersettings.cpp @@ -54,6 +54,11 @@ AnalyzerSettings::AnalyzerSettings(QObject *parent) { } +AnalyzerSettings::AnalyzerSettings(AnalyzerSettings *other) +{ + Q_UNUSED(other); +} + QVariantMap AnalyzerSettings::defaults() const { QVariantMap map; @@ -148,8 +153,8 @@ void AnalyzerGlobalSettings::registerTool(IAnalyzerTool *tool) } -AnalyzerRunConfigurationAspect::AnalyzerRunConfigurationAspect(QObject *parent) - : AnalyzerSettings(parent), m_useGlobalSettings(true) +AnalyzerRunConfigurationAspect::AnalyzerRunConfigurationAspect() + : AnalyzerSettings((QObject *)0), m_useGlobalSettings(true) { QList<IAnalyzerTool*> tools = AnalyzerManager::tools(); // add sub configs @@ -163,6 +168,19 @@ AnalyzerRunConfigurationAspect::AnalyzerRunConfigurationAspect(QObject *parent) resetCustomToGlobalSettings(); } +AnalyzerRunConfigurationAspect::AnalyzerRunConfigurationAspect(AnalyzerRunConfigurationAspect *other) + : AnalyzerSettings(other), m_useGlobalSettings(other->m_useGlobalSettings) +{ + + foreach (AbstractAnalyzerSubConfig *config, other->m_customConfigurations) + m_customConfigurations.append(config->clone()); + + if (m_useGlobalSettings) + m_subConfigs = AnalyzerGlobalSettings::instance()->subConfigs(); + else + m_subConfigs = m_customConfigurations; +} + AnalyzerRunConfigurationAspect::~AnalyzerRunConfigurationAspect() { qDeleteAll(m_customConfigurations); |