ProjectExplorer: Remove DeployConfigurationFactory::m_creator

Behavior is uniquely determined by m_deployConfigBaseId, so
a normal member functions does the trick, too.

Change-Id: I04f9a5dbba6874743b56ef32cc67ad1de13169d0
Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
This commit is contained in:
hjk
2019-01-22 16:59:14 +01:00
parent 260c41156c
commit 63ae7eeb1b
2 changed files with 12 additions and 14 deletions

View File

@@ -181,27 +181,26 @@ void DeployConfigurationFactory::setUseDeploymentDataView()
void DeployConfigurationFactory::setConfigBaseId(Core::Id deployConfigBaseId)
{
m_creator = [this, deployConfigBaseId](Target *t) {
auto dc = new DeployConfiguration(t, deployConfigBaseId);
m_deployConfigBaseId = deployConfigBaseId;
}
DeployConfiguration *DeployConfigurationFactory::createDeployConfiguration(Target *t)
{
auto dc = new DeployConfiguration(t, m_deployConfigBaseId);
dc->setDefaultDisplayName(m_defaultDisplayName);
dc->m_configWidgetCreator = m_configWidgetCreator;
return dc;
};
m_deployConfigBaseId = deployConfigBaseId;
}
DeployConfiguration *DeployConfigurationFactory::create(Target *parent)
{
QTC_ASSERT(canHandle(parent), return nullptr);
QTC_ASSERT(m_creator, return nullptr);
DeployConfiguration *dc = m_creator(parent);
if (!dc)
return nullptr;
DeployConfiguration *dc = createDeployConfiguration(parent);
QTC_ASSERT(dc, return nullptr);
for (const DeployStepCreationInfo &info : qAsConst(m_initialSteps)) {
if (!info.condition || info.condition(parent))
dc->stepList()->appendStep(info.deployStepId);
}
dc->m_configWidgetCreator = m_configWidgetCreator;
return dc;
}
@@ -222,8 +221,7 @@ DeployConfiguration *DeployConfigurationFactory::restore(Target *parent, const Q
});
if (!factory)
return nullptr;
QTC_ASSERT(factory->m_creator, return nullptr);
DeployConfiguration *dc = factory->m_creator(parent);
DeployConfiguration *dc = factory->createDeployConfiguration(parent);
QTC_ASSERT(dc, return nullptr);
if (!dc->fromMap(map)) {
delete dc;

View File

@@ -106,7 +106,7 @@ private:
Core::Id deployStepId;
std::function<bool(Target *)> condition; // unset counts as unrestricted
};
DeployConfigurationCreator m_creator;
DeployConfiguration *createDeployConfiguration(Target *t);
Core::Id m_deployConfigBaseId;
Core::Id m_supportedProjectType;
QList<Core::Id> m_supportedTargetDeviceTypes;