diff options
author | hjk <hjk121@nokiamail.com> | 2013-08-12 15:21:22 +0200 |
---|---|---|
committer | hjk <hjk121@nokiamail.com> | 2013-08-13 14:17:02 +0200 |
commit | 742c1a714de68e53f27a34bb18bc744176ccbb6b (patch) | |
tree | 6703712e0f400f42da09e1d7c5dda6a9a438472e /src/plugins/analyzerbase | |
parent | 8ea14767af70f7c0c2e9940f018e7b17e6f00205 (diff) | |
download | qt-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.cpp | 9 | ||||
-rw-r--r-- | src/plugins/analyzerbase/analyzersettings.h | 6 |
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; }; |