forked from qt-creator/qt-creator
RunConfigurationFactory: Simplify RunConfigFactory::create use
A for (f : X.allFs()) if (f.canHandle(t)) { f.doIt() ... } }
pattern can be replaced by some static X.doIt(t), and
item.factory->create(target, item) by some item.create(target).
Change-Id: I65df8b71e03272d60f41a16795ea43a0fdb262ef
Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
This commit is contained in:
@@ -539,30 +539,28 @@ bool RunConfigurationFactory::canCreateHelper(Target *, const QString &) const
|
||||
return true;
|
||||
}
|
||||
|
||||
RunConfiguration *RunConfigurationFactory::create(Target *parent,
|
||||
const RunConfigurationCreationInfo &info) const
|
||||
RunConfiguration *RunConfigurationCreationInfo::create(Target *target) const
|
||||
{
|
||||
if (!canHandle(parent))
|
||||
return nullptr;
|
||||
if (info.id != m_runConfigBaseId)
|
||||
return nullptr;
|
||||
if (!canCreateHelper(parent, info.extra))
|
||||
QTC_ASSERT(factory->canHandle(target), return nullptr);
|
||||
QTC_ASSERT(id == factory->runConfigurationBaseId(), return nullptr);
|
||||
|
||||
if (!factory->canCreateHelper(target, extra))
|
||||
return nullptr;
|
||||
|
||||
QTC_ASSERT(m_creator, return nullptr);
|
||||
RunConfiguration *rc = m_creator(parent);
|
||||
QTC_ASSERT(factory->m_creator, return nullptr);
|
||||
RunConfiguration *rc = factory->m_creator(target);
|
||||
if (!rc)
|
||||
return nullptr;
|
||||
|
||||
// "FIX" ids by mangling in the extra data (build system target etc)
|
||||
// for compatibility for the current format used in settings.
|
||||
if (!info.extra.isEmpty()) {
|
||||
if (!extra.isEmpty()) {
|
||||
QVariantMap data = rc->toMap();
|
||||
data[ProjectConfiguration::settingsIdKey()] = info.id.withSuffix(info.extra).toString();
|
||||
data[ProjectConfiguration::settingsIdKey()] = id.withSuffix(extra).toString();
|
||||
rc->fromMap(data);
|
||||
}
|
||||
|
||||
rc->doAdditionalSetup(info);
|
||||
rc->doAdditionalSetup(*this);
|
||||
|
||||
return rc;
|
||||
}
|
||||
@@ -595,6 +593,16 @@ const QList<RunConfigurationFactory *> RunConfigurationFactory::allFactories()
|
||||
return g_runConfigurationFactories;
|
||||
}
|
||||
|
||||
const QList<RunConfigurationCreationInfo> RunConfigurationFactory::creatorsForTarget(Target *parent)
|
||||
{
|
||||
QList<RunConfigurationCreationInfo> items;
|
||||
for (RunConfigurationFactory *factory : g_runConfigurationFactories) {
|
||||
if (factory->canHandle(parent))
|
||||
items.append(factory->availableCreators(parent));
|
||||
}
|
||||
return items;
|
||||
}
|
||||
|
||||
FixedRunConfigurationFactory::FixedRunConfigurationFactory(const QString &displayName,
|
||||
bool addDeviceName) :
|
||||
m_fixedBuildTarget(displayName),
|
||||
|
||||
Reference in New Issue
Block a user