ProjectExplorer: Change ProjectConfiguration::toMap signature

To match better with the rest, especially the base AspectContainer.

Change-Id: Ide0966cab3219800aa6b7b9e6012731a3fbe7a6f
Reviewed-by: Jarek Kobus <jaroslaw.kobus@qt.io>
This commit is contained in:
hjk
2023-07-21 17:44:01 +02:00
parent 1a88508654
commit 53d06feecd
37 changed files with 100 additions and 105 deletions

View File

@@ -894,14 +894,13 @@ bool AndroidBuildApkStep::fromMap(const QVariantMap &map)
return ProjectExplorer::BuildStep::fromMap(map); return ProjectExplorer::BuildStep::fromMap(map);
} }
QVariantMap AndroidBuildApkStep::toMap() const void AndroidBuildApkStep::toMap(QVariantMap &map) const
{ {
QVariantMap map = ProjectExplorer::AbstractProcessStep::toMap(); ProjectExplorer::AbstractProcessStep::toMap(map);
map.insert(KeystoreLocationKey, m_keystorePath.toSettings()); map.insert(KeystoreLocationKey, m_keystorePath.toSettings());
map.insert(BuildTargetSdkKey, m_buildTargetSdk); map.insert(BuildTargetSdkKey, m_buildTargetSdk);
map.insert(BuildToolsVersionKey, m_buildToolsVersion.toString()); map.insert(BuildToolsVersionKey, m_buildToolsVersion.toString());
map.insert(VerboseOutputKey, m_verbose); map.insert(VerboseOutputKey, m_verbose);
return map;
} }
Utils::FilePath AndroidBuildApkStep::keystorePath() const Utils::FilePath AndroidBuildApkStep::keystorePath() const

View File

@@ -24,7 +24,7 @@ public:
AndroidBuildApkStep(ProjectExplorer::BuildStepList *bc, Utils::Id id); AndroidBuildApkStep(ProjectExplorer::BuildStepList *bc, Utils::Id id);
bool fromMap(const QVariantMap &map) override; bool fromMap(const QVariantMap &map) override;
QVariantMap toMap() const override; void toMap(QVariantMap &map) const override;
// signing // signing
Utils::FilePath keystorePath() const; Utils::FilePath keystorePath() const;

View File

@@ -1562,10 +1562,9 @@ CMakeBuildConfiguration::~CMakeBuildConfiguration()
delete m_buildSystem; delete m_buildSystem;
} }
QVariantMap CMakeBuildConfiguration::toMap() const void CMakeBuildConfiguration::toMap(QVariantMap &map) const
{ {
QVariantMap map(BuildConfiguration::toMap()); BuildConfiguration::toMap(map);
return map;
} }
bool CMakeBuildConfiguration::fromMap(const QVariantMap &map) bool CMakeBuildConfiguration::fromMap(const QVariantMap &map)

View File

@@ -94,7 +94,7 @@ protected:
bool fromMap(const QVariantMap &map) override; bool fromMap(const QVariantMap &map) override;
private: private:
QVariantMap toMap() const override; void toMap(QVariantMap &map) const override;
BuildType buildType() const override; BuildType buildType() const override;
ProjectExplorer::NamedWidget *createConfigWidget() override; ProjectExplorer::NamedWidget *createConfigWidget() override;

View File

@@ -272,15 +272,13 @@ CMakeBuildStep::CMakeBuildStep(BuildStepList *bsl, Id id) :
this, &CMakeBuildStep::updateBuildTargetsModel); this, &CMakeBuildStep::updateBuildTargetsModel);
} }
QVariantMap CMakeBuildStep::toMap() const void CMakeBuildStep::toMap(QVariantMap &map) const
{ {
QVariantMap map(CMakeAbstractProcessStep::toMap()); CMakeAbstractProcessStep::toMap(map);
map.insert(BUILD_TARGETS_KEY, m_buildTargets); map.insert(BUILD_TARGETS_KEY, m_buildTargets);
map.insert(QLatin1String(CLEAR_SYSTEM_ENVIRONMENT_KEY), m_clearSystemEnvironment); map.insert(QLatin1String(CLEAR_SYSTEM_ENVIRONMENT_KEY), m_clearSystemEnvironment);
map.insert(QLatin1String(USER_ENVIRONMENT_CHANGES_KEY), EnvironmentItem::toStringList(m_userEnvironmentChanges)); map.insert(QLatin1String(USER_ENVIRONMENT_CHANGES_KEY), EnvironmentItem::toStringList(m_userEnvironmentChanges));
map.insert(QLatin1String(BUILD_PRESET_KEY), m_buildPreset); map.insert(QLatin1String(BUILD_PRESET_KEY), m_buildPreset);
return map;
} }
bool CMakeBuildStep::fromMap(const QVariantMap &map) bool CMakeBuildStep::fromMap(const QVariantMap &map)

View File

@@ -44,7 +44,7 @@ public:
bool buildsBuildTarget(const QString &target) const; bool buildsBuildTarget(const QString &target) const;
void setBuildsBuildTarget(const QString &target, bool on); void setBuildsBuildTarget(const QString &target, bool on);
QVariantMap toMap() const override; void toMap(QVariantMap &map) const override;
QString cleanTarget() const; QString cleanTarget() const;
QString allTarget() const ; QString allTarget() const ;

View File

@@ -57,7 +57,7 @@ private:
bool init() final; bool init() final;
void setupOutputFormatter(Utils::OutputFormatter *formatter) final; void setupOutputFormatter(Utils::OutputFormatter *formatter) final;
bool fromMap(const QVariantMap &map) final; bool fromMap(const QVariantMap &map) final;
QVariantMap toMap() const final; void toMap(QVariantMap &map) const final;
QStringList m_baseBuildArguments; QStringList m_baseBuildArguments;
QStringList m_extraArguments; QStringList m_extraArguments;
@@ -166,17 +166,15 @@ void IosBuildStep::setupOutputFormatter(OutputFormatter *formatter)
AbstractProcessStep::setupOutputFormatter(formatter); AbstractProcessStep::setupOutputFormatter(formatter);
} }
QVariantMap IosBuildStep::toMap() const void IosBuildStep::toMap(QVariantMap &map) const
{ {
QVariantMap map(AbstractProcessStep::toMap()); AbstractProcessStep::toMap(map);
map.insert(BUILD_ARGUMENTS_KEY, m_baseBuildArguments); map.insert(BUILD_ARGUMENTS_KEY, m_baseBuildArguments);
map.insert(BUILD_USE_DEFAULT_ARGS_KEY, m_useDefaultArguments); map.insert(BUILD_USE_DEFAULT_ARGS_KEY, m_useDefaultArguments);
// Not used anymore since 4.14. But make sure older versions of Creator can read this. // Not used anymore since 4.14. But make sure older versions of Creator can read this.
map.insert(CLEAN_KEY, stepList()->id() == ProjectExplorer::Constants::BUILDSTEPS_CLEAN); map.insert(CLEAN_KEY, stepList()->id() == ProjectExplorer::Constants::BUILDSTEPS_CLEAN);
return map;
} }
bool IosBuildStep::fromMap(const QVariantMap &map) bool IosBuildStep::fromMap(const QVariantMap &map)

View File

@@ -59,7 +59,7 @@ public:
private: private:
void setupOutputFormatter(OutputFormatter *formatter) override; void setupOutputFormatter(OutputFormatter *formatter) override;
QVariantMap toMap() const override; void toMap(QVariantMap &map) const override;
bool fromMap(const QVariantMap &map) override; bool fromMap(const QVariantMap &map) override;
QStringList defaultCleanCmdList() const; QStringList defaultCleanCmdList() const;
@@ -83,9 +83,9 @@ IosDsymBuildStep::IosDsymBuildStep(BuildStepList *parent, Id id) :
setIgnoreReturnValue(m_clean); setIgnoreReturnValue(m_clean);
} }
QVariantMap IosDsymBuildStep::toMap() const void IosDsymBuildStep::toMap(QVariantMap &map) const
{ {
QVariantMap map(AbstractProcessStep::toMap()); AbstractProcessStep::toMap(map);
map.insert(id().withSuffix(ARGUMENTS_PARTIAL_KEY).toString(), map.insert(id().withSuffix(ARGUMENTS_PARTIAL_KEY).toString(),
arguments()); arguments());
@@ -93,7 +93,6 @@ QVariantMap IosDsymBuildStep::toMap() const
isDefault()); isDefault());
map.insert(id().withSuffix(CLEAN_PARTIAL_KEY).toString(), m_clean); map.insert(id().withSuffix(CLEAN_PARTIAL_KEY).toString(), m_clean);
map.insert(id().withSuffix(COMMAND_PARTIAL_KEY).toString(), command().toSettings()); map.insert(id().withSuffix(COMMAND_PARTIAL_KEY).toString(), command().toSettings());
return map;
} }
bool IosDsymBuildStep::fromMap(const QVariantMap &map) bool IosDsymBuildStep::fromMap(const QVariantMap &map)

View File

@@ -137,12 +137,11 @@ void MesonBuildConfiguration::setParameters(const QString &params)
emit parametersChanged(); emit parametersChanged();
} }
QVariantMap MesonBuildConfiguration::toMap() const void MesonBuildConfiguration::toMap(QVariantMap &map) const
{ {
auto data = ProjectExplorer::BuildConfiguration::toMap(); ProjectExplorer::BuildConfiguration::toMap(map);
data[Constants::BuildConfiguration::BUILD_TYPE_KEY] = mesonBuildTypeName(m_buildType); map[Constants::BuildConfiguration::BUILD_TYPE_KEY] = mesonBuildTypeName(m_buildType);
data[Constants::BuildConfiguration::PARAMETERS_KEY] = m_parameters; map[Constants::BuildConfiguration::PARAMETERS_KEY] = m_parameters;
return data;
} }
bool MesonBuildConfiguration::fromMap(const QVariantMap &map) bool MesonBuildConfiguration::fromMap(const QVariantMap &map)

View File

@@ -30,7 +30,7 @@ signals:
void parametersChanged(); void parametersChanged();
private: private:
QVariantMap toMap() const override; void toMap(QVariantMap &map) const override;
bool fromMap(const QVariantMap &map) override; bool fromMap(const QVariantMap &map) override;
MesonBuildType m_buildType; MesonBuildType m_buildType;
ProjectExplorer::NamedWidget *createConfigWidget() final; ProjectExplorer::NamedWidget *createConfigWidget() final;

View File

@@ -189,7 +189,7 @@ MesonBuildStepFactory::MesonBuildStepFactory()
setDisplayName(Tr::tr("Meson Build")); setDisplayName(Tr::tr("Meson Build"));
} }
void MesonProjectManager::Internal::NinjaBuildStep::setBuildTarget(const QString &targetName) void NinjaBuildStep::setBuildTarget(const QString &targetName)
{ {
m_targetName = targetName; m_targetName = targetName;
} }
@@ -199,12 +199,11 @@ void NinjaBuildStep::setCommandArgs(const QString &args)
m_commandArgs = args.trimmed(); m_commandArgs = args.trimmed();
} }
QVariantMap NinjaBuildStep::toMap() const void NinjaBuildStep::toMap(QVariantMap &map) const
{ {
QVariantMap map(AbstractProcessStep::toMap()); AbstractProcessStep::toMap(map);
map.insert(TARGETS_KEY, m_targetName); map.insert(TARGETS_KEY, m_targetName);
map.insert(TOOL_ARGUMENTS_KEY, m_commandArgs); map.insert(TOOL_ARGUMENTS_KEY, m_commandArgs);
return map;
} }
bool NinjaBuildStep::fromMap(const QVariantMap &map) bool NinjaBuildStep::fromMap(const QVariantMap &map)

View File

@@ -25,7 +25,8 @@ public:
const QString &targetName() const { return m_targetName; } const QString &targetName() const { return m_targetName; }
Q_SIGNAL void targetListChanged(); Q_SIGNAL void targetListChanged();
Q_SIGNAL void commandChanged(); Q_SIGNAL void commandChanged();
QVariantMap toMap() const override;
void toMap(QVariantMap &map) const override;
bool fromMap(const QVariantMap &map) override; bool fromMap(const QVariantMap &map) override;
private: private:

View File

@@ -43,11 +43,10 @@ bool NimbleBuildConfiguration::fromMap(const QVariantMap &map)
return BuildConfiguration::fromMap(map); return BuildConfiguration::fromMap(map);
} }
QVariantMap NimbleBuildConfiguration::toMap() const void NimbleBuildConfiguration::toMap(QVariantMap &map) const
{ {
auto map = BuildConfiguration::toMap(); BuildConfiguration::toMap(map);
map[Constants::C_NIMBLEBUILDCONFIGURATION_BUILDTYPE] = buildType(); map[Constants::C_NIMBLEBUILDCONFIGURATION_BUILDTYPE] = buildType();
return map;
} }
void NimbleBuildConfiguration::setBuildType(BuildConfiguration::BuildType buildType) void NimbleBuildConfiguration::setBuildType(BuildConfiguration::BuildType buildType)

View File

@@ -19,8 +19,7 @@ class NimbleBuildConfiguration : public ProjectExplorer::BuildConfiguration
BuildType buildType() const override; BuildType buildType() const override;
bool fromMap(const QVariantMap &map) override; bool fromMap(const QVariantMap &map) override;
void toMap(QVariantMap &map) const override;
QVariantMap toMap() const override;
private: private:
void setBuildType(BuildType buildType); void setBuildType(BuildType buildType);

View File

@@ -130,13 +130,12 @@ bool NimCompilerBuildStep::fromMap(const QVariantMap &map)
return true; return true;
} }
QVariantMap NimCompilerBuildStep::toMap() const void NimCompilerBuildStep::toMap(QVariantMap &map) const
{ {
QVariantMap result = AbstractProcessStep::toMap(); AbstractProcessStep::toMap(map);
result[Constants::C_NIMCOMPILERBUILDSTEP_USERCOMPILEROPTIONS] = m_userCompilerOptions.join('|'); map[Constants::C_NIMCOMPILERBUILDSTEP_USERCOMPILEROPTIONS] = m_userCompilerOptions.join('|');
result[Constants::C_NIMCOMPILERBUILDSTEP_DEFAULTBUILDOPTIONS] = m_defaultOptions; map[Constants::C_NIMCOMPILERBUILDSTEP_DEFAULTBUILDOPTIONS] = m_defaultOptions;
result[Constants::C_NIMCOMPILERBUILDSTEP_TARGETNIMFILE] = m_targetNimFile.toString(); map[Constants::C_NIMCOMPILERBUILDSTEP_TARGETNIMFILE] = m_targetNimFile.toString();
return result;
} }
void NimCompilerBuildStep::setBuildType(BuildConfiguration::BuildType buildType) void NimCompilerBuildStep::setBuildType(BuildConfiguration::BuildType buildType)

View File

@@ -27,7 +27,7 @@ private:
QWidget *createConfigWidget() override; QWidget *createConfigWidget() override;
bool fromMap(const QVariantMap &map) override; bool fromMap(const QVariantMap &map) override;
QVariantMap toMap() const override; void toMap(QVariantMap &map) const override;
void updateTargetNimFile(); void updateTargetNimFile();
Utils::CommandLine commandLine(); Utils::CommandLine commandLine();

View File

@@ -372,9 +372,9 @@ void BuildConfiguration::appendInitialCleanStep(Utils::Id id)
d->m_initialCleanSteps.append(id); d->m_initialCleanSteps.append(id);
} }
QVariantMap BuildConfiguration::toMap() const void BuildConfiguration::toMap(QVariantMap &map) const
{ {
QVariantMap map = ProjectConfiguration::toMap(); ProjectConfiguration::toMap(map);
map.insert(QLatin1String(Constants::CLEAR_SYSTEM_ENVIRONMENT_KEY), d->m_clearSystemEnvironment); map.insert(QLatin1String(Constants::CLEAR_SYSTEM_ENVIRONMENT_KEY), d->m_clearSystemEnvironment);
map.insert(QLatin1String(Constants::USER_ENVIRONMENT_CHANGES_KEY), map.insert(QLatin1String(Constants::USER_ENVIRONMENT_CHANGES_KEY),
@@ -386,8 +386,6 @@ QVariantMap BuildConfiguration::toMap() const
map.insert(PARSE_STD_OUT_KEY, d->m_parseStdOut); map.insert(PARSE_STD_OUT_KEY, d->m_parseStdOut);
map.insert(CUSTOM_PARSERS_KEY, transform(d->m_customParsers,&Utils::Id::toSetting)); map.insert(CUSTOM_PARSERS_KEY, transform(d->m_customParsers,&Utils::Id::toSetting));
return map;
} }
bool BuildConfiguration::fromMap(const QVariantMap &map) bool BuildConfiguration::fromMap(const QVariantMap &map)
@@ -795,9 +793,11 @@ BuildConfiguration *BuildConfigurationFactory::restore(Target *parent, const QVa
} }
BuildConfiguration *BuildConfigurationFactory::clone(Target *parent, BuildConfiguration *BuildConfigurationFactory::clone(Target *parent,
const BuildConfiguration *source) const BuildConfiguration *source)
{ {
return restore(parent, source->toMap()); QVariantMap map;
source->toMap(map);
return restore(parent, map);
} }
} // namespace ProjectExplorer } // namespace ProjectExplorer

View File

@@ -69,7 +69,7 @@ public:
void appendInitialCleanStep(Utils::Id id); void appendInitialCleanStep(Utils::Id id);
bool fromMap(const QVariantMap &map) override; bool fromMap(const QVariantMap &map) override;
QVariantMap toMap() const override; void toMap(QVariantMap &map) const override;
bool isEnabled() const; bool isEnabled() const;
QString disabledReason() const; QString disabledReason() const;

View File

@@ -192,11 +192,10 @@ bool BuildStep::fromMap(const QVariantMap &map)
return ProjectConfiguration::fromMap(map); return ProjectConfiguration::fromMap(map);
} }
QVariantMap BuildStep::toMap() const void BuildStep::toMap(QVariantMap &map) const
{ {
QVariantMap map = ProjectConfiguration::toMap(); ProjectConfiguration::toMap(map);
map.insert(buildStepEnabledKey, m_enabled); map.insert(buildStepEnabledKey, m_enabled);
return map;
} }
BuildConfiguration *BuildStep::buildConfiguration() const BuildConfiguration *BuildStep::buildConfiguration() const

View File

@@ -54,7 +54,7 @@ public:
void cancel(); void cancel();
bool fromMap(const QVariantMap &map) override; bool fromMap(const QVariantMap &map) override;
QVariantMap toMap() const override; void toMap(QVariantMap &map) const override;
bool enabled() const; bool enabled() const;
void setEnabled(bool b); void setEnabled(bool b);

View File

@@ -57,8 +57,11 @@ QVariantMap BuildStepList::toMap() const
// Save build steps // Save build steps
map.insert(QString::fromLatin1(STEPS_COUNT_KEY), m_steps.count()); map.insert(QString::fromLatin1(STEPS_COUNT_KEY), m_steps.count());
for (int i = 0; i < m_steps.count(); ++i) for (int i = 0; i < m_steps.count(); ++i) {
map.insert(QString::fromLatin1(STEPS_PREFIX) + QString::number(i), m_steps.at(i)->toMap()); QVariantMap data;
m_steps.at(i)->toMap(data);
map.insert(QString::fromLatin1(STEPS_PREFIX) + QString::number(i), data);
}
return map; return map;
} }

View File

@@ -50,9 +50,9 @@ QWidget *DeployConfiguration::createConfigWidget()
return m_configWidgetCreator(this); return m_configWidgetCreator(this);
} }
QVariantMap DeployConfiguration::toMap() const void DeployConfiguration::toMap(QVariantMap &map) const
{ {
QVariantMap map(ProjectConfiguration::toMap()); ProjectConfiguration::toMap(map);
map.insert(QLatin1String(BUILD_STEP_LIST_COUNT), 1); map.insert(QLatin1String(BUILD_STEP_LIST_COUNT), 1);
map.insert(QLatin1String(BUILD_STEP_LIST_PREFIX) + QLatin1Char('0'), m_stepList.toMap()); map.insert(QLatin1String(BUILD_STEP_LIST_PREFIX) + QLatin1Char('0'), m_stepList.toMap());
map.insert(USES_DEPLOYMENT_DATA, usesCustomDeploymentData()); map.insert(USES_DEPLOYMENT_DATA, usesCustomDeploymentData());
@@ -62,7 +62,6 @@ QVariantMap DeployConfiguration::toMap() const
deployData.insert(f.localFilePath().toString(), f.remoteDirectory()); deployData.insert(f.localFilePath().toString(), f.remoteDirectory());
} }
map.insert(DEPLOYMENT_DATA, deployData); map.insert(DEPLOYMENT_DATA, deployData);
return map;
} }
bool DeployConfiguration::fromMap(const QVariantMap &map) bool DeployConfiguration::fromMap(const QVariantMap &map)
@@ -185,7 +184,9 @@ DeployConfiguration *DeployConfigurationFactory::create(Target *parent)
DeployConfiguration *DeployConfigurationFactory::clone(Target *parent, DeployConfiguration *DeployConfigurationFactory::clone(Target *parent,
const DeployConfiguration *source) const DeployConfiguration *source)
{ {
return restore(parent, source->toMap()); QVariantMap map;
source->toMap(map);
return restore(parent, map);
} }
DeployConfiguration *DeployConfigurationFactory::restore(Target *parent, const QVariantMap &map) DeployConfiguration *DeployConfigurationFactory::restore(Target *parent, const QVariantMap &map)

View File

@@ -32,7 +32,7 @@ public:
QWidget *createConfigWidget(); QWidget *createConfigWidget();
bool fromMap(const QVariantMap &map) override; bool fromMap(const QVariantMap &map) override;
QVariantMap toMap() const override; void toMap(QVariantMap &map) const override;
bool isActive() const; bool isActive() const;

View File

@@ -74,14 +74,12 @@ QString ProjectConfiguration::toolTip() const
return m_toolTip; return m_toolTip;
} }
QVariantMap ProjectConfiguration::toMap() const void ProjectConfiguration::toMap(QVariantMap &map) const
{ {
QTC_CHECK(m_id.isValid()); QTC_CHECK(m_id.isValid());
QVariantMap map;
map.insert(QLatin1String(CONFIGURATION_ID_KEY), m_id.toSetting()); map.insert(QLatin1String(CONFIGURATION_ID_KEY), m_id.toSetting());
m_displayName.toMap(map, DISPLAY_NAME_KEY); m_displayName.toMap(map, DISPLAY_NAME_KEY);
AspectContainer::toMap(map); AspectContainer::toMap(map);
return map;
} }
Target *ProjectConfiguration::target() const Target *ProjectConfiguration::target() const

View File

@@ -47,7 +47,7 @@ public:
virtual bool fromMap(const QVariantMap &map); virtual bool fromMap(const QVariantMap &map);
// Note: Make sure subclasses call the superclasses' toMap() function! // Note: Make sure subclasses call the superclasses' toMap() function!
virtual QVariantMap toMap() const; virtual void toMap(QVariantMap &map) const;
Target *target() const; Target *target() const;
Project *project() const; Project *project() const;

View File

@@ -246,7 +246,8 @@ bool RunConfiguration::isCustomized() const
{ {
if (m_customized) if (m_customized)
return true; return true;
QVariantMap state = toMapSimple(); QVariantMap state;
toMapSimple(state);
// TODO: Why do we save this at all? It's a computed value. // TODO: Why do we save this at all? It's a computed value.
state.remove("RunConfiguration.WorkingDirectory.default"); state.remove("RunConfiguration.WorkingDirectory.default");
@@ -265,7 +266,8 @@ bool RunConfiguration::hasCreator() const
void RunConfiguration::setPristineState() void RunConfiguration::setPristineState()
{ {
if (!m_customized) { if (!m_customized) {
m_pristineState = toMapSimple(); m_pristineState.clear();
toMapSimple(m_pristineState);
m_pristineState.remove("RunConfiguration.WorkingDirectory.default"); m_pristineState.remove("RunConfiguration.WorkingDirectory.default");
} }
} }
@@ -306,16 +308,15 @@ Task RunConfiguration::createConfigurationIssue(const QString &description) cons
return BuildSystemTask(Task::Error, description); return BuildSystemTask(Task::Error, description);
} }
QVariantMap RunConfiguration::toMap() const void RunConfiguration::toMap(QVariantMap &map) const
{ {
QVariantMap map = toMapSimple(); toMapSimple(map);
map.insert(CUSTOMIZED_KEY, isCustomized()); map.insert(CUSTOMIZED_KEY, isCustomized());
return map;
} }
QVariantMap RunConfiguration::toMapSimple() const void RunConfiguration::toMapSimple(QVariantMap &map) const
{ {
QVariantMap map = ProjectConfiguration::toMap(); ProjectConfiguration::toMap(map);
map.insert(BUILD_KEY, m_buildKey); map.insert(BUILD_KEY, m_buildKey);
// FIXME: Remove this id mangling, e.g. by using a separate entry for the build key. // FIXME: Remove this id mangling, e.g. by using a separate entry for the build key.
@@ -323,8 +324,6 @@ QVariantMap RunConfiguration::toMapSimple() const
const Utils::Id mangled = id().withSuffix(m_buildKey); const Utils::Id mangled = id().withSuffix(m_buildKey);
map.insert(settingsIdKey(), mangled.toSetting()); map.insert(settingsIdKey(), mangled.toSetting());
} }
return map;
} }
void RunConfiguration::setCommandLineGetter(const CommandLineGetter &cmdGetter) void RunConfiguration::setCommandLineGetter(const CommandLineGetter &cmdGetter)
@@ -649,7 +648,9 @@ RunConfiguration *RunConfigurationFactory::restore(Target *parent, const QVarian
RunConfiguration *RunConfigurationFactory::clone(Target *parent, RunConfiguration *source) RunConfiguration *RunConfigurationFactory::clone(Target *parent, RunConfiguration *source)
{ {
return restore(parent, source->toMap()); QVariantMap map;
source->toMap(map);
return restore(parent, map);
} }
const QList<RunConfigurationCreationInfo> RunConfigurationFactory::creatorsForTarget(Target *parent) const QList<RunConfigurationCreationInfo> RunConfigurationFactory::creatorsForTarget(Target *parent)

View File

@@ -172,8 +172,8 @@ protected:
private: private:
// Any additional data should be handled by aspects. // Any additional data should be handled by aspects.
bool fromMap(const QVariantMap &map) final; bool fromMap(const QVariantMap &map) final;
QVariantMap toMap() const final; void toMap(QVariantMap &map) const final;
QVariantMap toMapSimple() const; void toMapSimple(QVariantMap &map) const;
static void addAspectFactory(const AspectFactory &aspectFactory); static void addAspectFactory(const AspectFactory &aspectFactory);

View File

@@ -602,20 +602,29 @@ QVariantMap Target::toMap() const
const QList<BuildConfiguration *> bcs = buildConfigurations(); const QList<BuildConfiguration *> bcs = buildConfigurations();
map.insert(QLatin1String(ACTIVE_BC_KEY), bcs.indexOf(d->m_activeBuildConfiguration)); map.insert(QLatin1String(ACTIVE_BC_KEY), bcs.indexOf(d->m_activeBuildConfiguration));
map.insert(QLatin1String(BC_COUNT_KEY), bcs.size()); map.insert(QLatin1String(BC_COUNT_KEY), bcs.size());
for (int i = 0; i < bcs.size(); ++i) for (int i = 0; i < bcs.size(); ++i) {
map.insert(QString::fromLatin1(BC_KEY_PREFIX) + QString::number(i), bcs.at(i)->toMap()); QVariantMap data;
bcs.at(i)->toMap(data);
map.insert(QString::fromLatin1(BC_KEY_PREFIX) + QString::number(i), data);
}
const QList<DeployConfiguration *> dcs = deployConfigurations(); const QList<DeployConfiguration *> dcs = deployConfigurations();
map.insert(QLatin1String(ACTIVE_DC_KEY), dcs.indexOf(d->m_activeDeployConfiguration)); map.insert(QLatin1String(ACTIVE_DC_KEY), dcs.indexOf(d->m_activeDeployConfiguration));
map.insert(QLatin1String(DC_COUNT_KEY), dcs.size()); map.insert(QLatin1String(DC_COUNT_KEY), dcs.size());
for (int i = 0; i < dcs.size(); ++i) for (int i = 0; i < dcs.size(); ++i) {
map.insert(QString::fromLatin1(DC_KEY_PREFIX) + QString::number(i), dcs.at(i)->toMap()); QVariantMap data;
dcs.at(i)->toMap(data);
map.insert(QString::fromLatin1(DC_KEY_PREFIX) + QString::number(i), data);
}
const QList<RunConfiguration *> rcs = runConfigurations(); const QList<RunConfiguration *> rcs = runConfigurations();
map.insert(QLatin1String(ACTIVE_RC_KEY), rcs.indexOf(d->m_activeRunConfiguration)); map.insert(QLatin1String(ACTIVE_RC_KEY), rcs.indexOf(d->m_activeRunConfiguration));
map.insert(QLatin1String(RC_COUNT_KEY), rcs.size()); map.insert(QLatin1String(RC_COUNT_KEY), rcs.size());
for (int i = 0; i < rcs.size(); ++i) for (int i = 0; i < rcs.size(); ++i) {
map.insert(QString::fromLatin1(RC_KEY_PREFIX) + QString::number(i), rcs.at(i)->toMap()); QVariantMap data;
rcs.at(i)->toMap(data);
map.insert(QString::fromLatin1(RC_KEY_PREFIX) + QString::number(i), data);
}
if (!d->m_pluginSettings.isEmpty()) if (!d->m_pluginSettings.isEmpty())
map.insert(QLatin1String(PLUGIN_SETTINGS_KEY), d->m_pluginSettings); map.insert(QLatin1String(PLUGIN_SETTINGS_KEY), d->m_pluginSettings);

View File

@@ -381,11 +381,10 @@ bool QbsBuildStep::fromMap(const QVariantMap &map)
return true; return true;
} }
QVariantMap QbsBuildStep::toMap() const void QbsBuildStep::toMap(QVariantMap &map) const
{ {
QVariantMap map = ProjectExplorer::BuildStep::toMap(); ProjectExplorer::BuildStep::toMap(map);
map.insert(QBS_CONFIG, m_qbsConfiguration); map.insert(QBS_CONFIG, m_qbsConfiguration);
return map;
} }
void QbsBuildStep::buildingDone(const ErrorInfo &error) void QbsBuildStep::buildingDone(const ErrorInfo &error)

View File

@@ -86,7 +86,7 @@ private:
void doCancel() override; void doCancel() override;
QWidget *createConfigWidget() override; QWidget *createConfigWidget() override;
bool fromMap(const QVariantMap &map) override; bool fromMap(const QVariantMap &map) override;
QVariantMap toMap() const override; void toMap(QVariantMap &map) const override;
void buildingDone(const ErrorInfo &error); void buildingDone(const ErrorInfo &error);
void reparsingDone(bool success); void reparsingDone(bool success);

View File

@@ -187,11 +187,10 @@ QmakeBuildConfiguration::~QmakeBuildConfiguration()
delete m_buildSystem; delete m_buildSystem;
} }
QVariantMap QmakeBuildConfiguration::toMap() const void QmakeBuildConfiguration::toMap(QVariantMap &map) const
{ {
QVariantMap map(BuildConfiguration::toMap()); BuildConfiguration::toMap(map);
map.insert(QLatin1String(BUILD_CONFIGURATION_KEY), int(m_qmakeBuildConfiguration)); map.insert(QLatin1String(BUILD_CONFIGURATION_KEY), int(m_qmakeBuildConfiguration));
return map;
} }
bool QmakeBuildConfiguration::fromMap(const QVariantMap &map) bool QmakeBuildConfiguration::fromMap(const QVariantMap &map)

View File

@@ -67,7 +67,7 @@ public:
QString *arguments, const Utils::FilePath &directory, const QtSupport::QtVersion *version, QString *arguments, const Utils::FilePath &directory, const QtSupport::QtVersion *version,
QStringList *outArgs = nullptr); QStringList *outArgs = nullptr);
QVariantMap toMap() const override; void toMap(QVariantMap &map) const override;
BuildType buildType() const override; BuildType buildType() const override;

View File

@@ -403,12 +403,11 @@ QString QMakeStep::mkspec() const
return QmakeKitAspect::effectiveMkspec(target()->kit()); return QmakeKitAspect::effectiveMkspec(target()->kit());
} }
QVariantMap QMakeStep::toMap() const void QMakeStep::toMap(QVariantMap &map) const
{ {
QVariantMap map(AbstractProcessStep::toMap()); AbstractProcessStep::toMap(map);
map.insert(QMAKE_FORCED_KEY, m_forced); map.insert(QMAKE_FORCED_KEY, m_forced);
map.insert(QMAKE_SELECTED_ABIS_KEY, m_selectedAbis); map.insert(QMAKE_SELECTED_ABIS_KEY, m_selectedAbis);
return map;
} }
bool QMakeStep::fromMap(const QVariantMap &map) bool QMakeStep::fromMap(const QVariantMap &map)

View File

@@ -124,7 +124,7 @@ public:
QString makeArguments(const QString &makefile) const; QString makeArguments(const QString &makefile) const;
QString effectiveQMakeCall() const; QString effectiveQMakeCall() const;
QVariantMap toMap() const override; void toMap(QVariantMap &map) const override;
Utils::SelectionAspect buildType{this}; Utils::SelectionAspect buildType{this};
ProjectExplorer::ArgumentsAspect userArguments{this}; ProjectExplorer::ArgumentsAspect userArguments{this};

View File

@@ -90,11 +90,10 @@ bool AbstractRemoteLinuxDeployStep::fromMap(const QVariantMap &map)
return true; return true;
} }
QVariantMap AbstractRemoteLinuxDeployStep::toMap() const void AbstractRemoteLinuxDeployStep::toMap(QVariantMap &map) const
{ {
QVariantMap map = BuildStep::toMap(); BuildStep::toMap(map);
map.insert(d->deployTimes.exportDeployTimes()); map.insert(d->deployTimes.exportDeployTimes());
return map;
} }
bool AbstractRemoteLinuxDeployStep::init() bool AbstractRemoteLinuxDeployStep::init()

View File

@@ -27,7 +27,7 @@ protected:
void handleStdErrData(const QString &data); void handleStdErrData(const QString &data);
bool fromMap(const QVariantMap &map) final; bool fromMap(const QVariantMap &map) final;
QVariantMap toMap() const final; void toMap(QVariantMap &map) const final;
bool init() final; bool init() final;
void setInternalInitializer(const std::function<Utils::expected_str<void>()> &init); void setInternalInitializer(const std::function<Utils::expected_str<void>()> &init);

View File

@@ -63,7 +63,7 @@ private:
bool init() final; bool init() final;
GroupItem runRecipe() final; GroupItem runRecipe() final;
bool fromMap(const QVariantMap &map) final; bool fromMap(const QVariantMap &map) final;
QVariantMap toMap() const final; void toMap(QVariantMap &map) const final;
QVariant data(Id id) const final; QVariant data(Id id) const final;
void raiseError(const QString &errorMessage); void raiseError(const QString &errorMessage);
@@ -174,11 +174,10 @@ bool TarPackageCreationStep::fromMap(const QVariantMap &map)
return true; return true;
} }
QVariantMap TarPackageCreationStep::toMap() const void TarPackageCreationStep::toMap(QVariantMap &map) const
{ {
QVariantMap map = BuildStep::toMap(); BuildStep::toMap(map);
map.insert(m_deployTimes.exportDeployTimes()); map.insert(m_deployTimes.exportDeployTimes());
return map;
} }
QVariant TarPackageCreationStep::data(Id id) const QVariant TarPackageCreationStep::data(Id id) const