ProjectExplorer: Return BuildTargetInfo from availableBuildTarget()

... including build target name and display names instead of
returning QString build target names and producing display names
via displayNameForBuildTarget()

This is a mechanical intermediate step on the road to use
Target::applicationTargets().list uniformly as source of build
targets.

Change-Id: I7b0b1fb398d5061b0cec0b86890f9eaf0bb53a19
Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
This commit is contained in:
hjk
2018-01-03 16:41:40 +01:00
parent 94086e53bd
commit c3d87e81c5
21 changed files with 117 additions and 110 deletions

View File

@@ -364,7 +364,7 @@ bool QbsRunConfigurationFactory::canCreateHelper(Target *parent, const QString &
return findProduct(project->qbsProjectData(), product).isValid();
}
QList<QString> QbsRunConfigurationFactory::availableBuildTargets(Target *parent, CreationMode mode) const
QList<BuildTargetInfo> QbsRunConfigurationFactory::availableBuildTargets(Target *parent, CreationMode mode) const
{
QList<qbs::ProductData> products;
@@ -387,18 +387,13 @@ QList<QString> QbsRunConfigurationFactory::availableBuildTargets(Target *parent,
}
return Utils::transform(products, [project](const qbs::ProductData &product) {
return QString(QbsProject::uniqueProductName(product) + rcNameSeparator()
+ QbsProject::productDisplayName(project->qbsProject(), product));
QString displayName = QbsProject::productDisplayName(project->qbsProject(), product);
BuildTargetInfo bti;
bti.targetName = QbsProject::uniqueProductName(product) + rcNameSeparator() + displayName;
bti.displayName = displayName;
return bti;
});
}
QString QbsRunConfigurationFactory::displayNameForBuildTarget(const QString &buildTarget) const
{
const int sepPos = buildTarget.indexOf(rcNameSeparator());
if (sepPos == -1)
return buildTarget;
return buildTarget.mid(sepPos + rcNameSeparator().count());
}
} // namespace Internal
} // namespace QbsProjectManager

View File

@@ -112,8 +112,8 @@ public:
bool canCreateHelper(ProjectExplorer::Target *parent, const QString &suffix) const override;
QList<QString> availableBuildTargets(ProjectExplorer::Target *parent, CreationMode mode) const override;
QString displayNameForBuildTarget(const QString &buildTarget) const override;
QList<ProjectExplorer::BuildTargetInfo>
availableBuildTargets(ProjectExplorer::Target *parent, CreationMode mode) const override;
};
} // namespace Internal