summaryrefslogtreecommitdiff
path: root/src/plugins/analyzerbase/analyzersettings.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/plugins/analyzerbase/analyzersettings.cpp')
-rw-r--r--src/plugins/analyzerbase/analyzersettings.cpp22
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);