QbsRunConfiguration: Re-model based on RemoteLinux precedence

Task-number: QTCREATORBUG-19985
Change-Id: Ifd95187b72fed3565552ecd14f3353b7e7df0069
Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
Reviewed-by: hjk <hjk@qt.io>
This commit is contained in:
hjk
2018-02-21 12:30:09 +01:00
parent 7bbe5979a1
commit 9541aa7772
8 changed files with 199 additions and 255 deletions

View File

@@ -470,14 +470,20 @@ QString RunConfigurationFactory::decoratedTargetName(const QString targetName, T
QList<RunConfigurationCreationInfo>
RunConfigurationFactory::availableCreators(Target *parent) const
{
return Utils::transform(parent->applicationTargets().list, [parent, this](const BuildTargetInfo &ti) {
const QList<BuildTargetInfo> buildTargets = parent->applicationTargets().list;
const bool hasAnyQtcRunnable = Utils::anyOf(buildTargets,
Utils::equal(&BuildTargetInfo::isQtcRunnable, true));
return Utils::transform(buildTargets, [&](const BuildTargetInfo &ti) {
QString displayName = ti.displayName;
if (displayName.isEmpty())
displayName = decoratedTargetName(ti.targetName, parent);
return RunConfigurationCreationInfo(this, m_runConfigBaseId, ti.targetName, displayName,
ti.isAutoRunnable ? RunConfigurationCreationInfo::AlwaysCreate
: RunConfigurationCreationInfo::ManualCreationOnly,
ti.usesTerminal);
RunConfigurationCreationInfo rci(this, m_runConfigBaseId, ti.targetName, displayName);
rci.creationMode = ti.isQtcRunnable || !hasAnyQtcRunnable
? RunConfigurationCreationInfo::AlwaysCreate
: RunConfigurationCreationInfo::ManualCreationOnly;
rci.useTerminal = ti.usesTerminal;
rci.buildKey = ti.buildKey;
return rci;
});
}