BuildConfiguration: Add static helper to turn buildtype into a string

Use that helper in the projectexplorer instead of hardcoding a mapping
there.

Change-Id: I8720607a869c086569661fc9e9326ed6e0f85bb3
Reviewed-by: Ulf Hermann <ulf.hermann@theqtcompany.com>
This commit is contained in:
Tobias Hunger
2015-10-22 16:45:52 +02:00
parent ea128cd8fc
commit 66efe78b2b
3 changed files with 21 additions and 10 deletions

View File

@@ -306,6 +306,21 @@ QString BuildConfiguration::disabledReason() const
return QString();
}
QString BuildConfiguration::buildTypeName(BuildConfiguration::BuildType type)
{
switch (type) {
case ProjectExplorer::BuildConfiguration::Debug:
return QLatin1String("debug");
case ProjectExplorer::BuildConfiguration::Profile:
return QLatin1String("profile");
case ProjectExplorer::BuildConfiguration::Release:
return QLatin1String("release");
case ProjectExplorer::BuildConfiguration::Unknown: // fallthrough
default:
return QLatin1String("unknown");
}
}
///
// IBuildConfigurationFactory
///

View File

@@ -91,6 +91,8 @@ public:
};
virtual BuildType buildType() const = 0;
static QString buildTypeName(BuildType type);
signals:
void environmentChanged();
void buildDirectoryChanged();

View File

@@ -1371,16 +1371,10 @@ bool ProjectExplorerPlugin::initialize(const QStringList &arguments, QString *er
expander->registerVariable(Constants::VAR_CURRENTBUILD_TYPE,
tr("The currently active build configuration's type."),
[&]() -> QString {
if (BuildConfiguration *bc = activeBuildConfiguration()) {
BuildConfiguration::BuildType type = bc->buildType();
if (type == BuildConfiguration::Debug)
return QLatin1String("debug");
if (type == BuildConfiguration::Release)
return QLatin1String("release");
if (type == BuildConfiguration::Profile)
return QLatin1String("profile");
}
return tr("unknown");
BuildConfiguration *bc = activeBuildConfiguration();
const BuildConfiguration::BuildType type
= bc ? bc->buildType() : BuildConfiguration::Unknown;
return BuildConfiguration::buildTypeName(type);
});