summaryrefslogtreecommitdiff
path: root/src/plugins/analyzerbase
diff options
context:
space:
mode:
authorhjk <hjk121@nokiamail.com>2013-08-12 15:21:22 +0200
committerhjk <hjk121@nokiamail.com>2013-08-13 14:17:02 +0200
commit742c1a714de68e53f27a34bb18bc744176ccbb6b (patch)
tree6703712e0f400f42da09e1d7c5dda6a9a438472e /src/plugins/analyzerbase
parent8ea14767af70f7c0c2e9940f018e7b17e6f00205 (diff)
downloadqt-creator-742c1a714de68e53f27a34bb18bc744176ccbb6b.tar.gz
ISettingsAspect: consolidate data copying in base implementation
Change-Id: I1eec0f54d05b3f7d8679060faccc14ec8a3777f6 Reviewed-by: Daniel Teske <daniel.teske@digia.com>
Diffstat (limited to 'src/plugins/analyzerbase')
-rw-r--r--src/plugins/analyzerbase/analyzersettings.cpp9
-rw-r--r--src/plugins/analyzerbase/analyzersettings.h6
2 files changed, 13 insertions, 2 deletions
diff --git a/src/plugins/analyzerbase/analyzersettings.cpp b/src/plugins/analyzerbase/analyzersettings.cpp
index 6244eda84f..41cb7752c3 100644
--- a/src/plugins/analyzerbase/analyzersettings.cpp
+++ b/src/plugins/analyzerbase/analyzersettings.cpp
@@ -46,6 +46,15 @@ static const char useGlobalC[] = "Analyzer.Project.UseGlobal";
namespace Analyzer {
+ISettingsAspect *ISettingsAspect::clone() const
+{
+ ISettingsAspect *other = create();
+ QVariantMap data;
+ toMap(data);
+ other->fromMap(data);
+ return other;
+}
+
AnalyzerRunConfigurationAspect::AnalyzerRunConfigurationAspect(ISettingsAspect *projectSettings,
ISettingsAspect *globalSettings)
{
diff --git a/src/plugins/analyzerbase/analyzersettings.h b/src/plugins/analyzerbase/analyzersettings.h
index 7b05bab8bd..948701b186 100644
--- a/src/plugins/analyzerbase/analyzersettings.h
+++ b/src/plugins/analyzerbase/analyzersettings.h
@@ -59,8 +59,10 @@ public:
/// Create a configuration widget for this settings aspect.
virtual QWidget *createConfigWidget(QWidget *parent) = 0;
- /// Clones the object.
- virtual ISettingsAspect *clone() = 0;
+ /// "Virtual default constructor"
+ virtual ISettingsAspect *create() const = 0;
+ /// "Virtual copy constructor"
+ ISettingsAspect *clone() const;
};