diff --git a/src/plugins/projectexplorer/miniprojecttargetselector.cpp b/src/plugins/projectexplorer/miniprojecttargetselector.cpp index a626a489c8e..f255c6bbf9d 100644 --- a/src/plugins/projectexplorer/miniprojecttargetselector.cpp +++ b/src/plugins/projectexplorer/miniprojecttargetselector.cpp @@ -106,7 +106,7 @@ public: return p->displayName(); if (const auto t = qobject_cast(object())) return t->displayName(); - return static_cast(object())->displayName(); + return static_cast(object())->expandedDisplayName(); } QString displayName() const @@ -1481,7 +1481,7 @@ void MiniProjectTargetSelector::updateActionAndSummary() deployConfig = dc->displayName(); if (RunConfiguration *rc = target->activeRunConfiguration()) - runConfig = rc->displayName(); + runConfig = rc->expandedDisplayName(); targetToolTipText = target->overlayIconToolTip(); targetIcon = createCenteredIcon(target->icon(), target->overlayIcon()); @@ -1530,7 +1530,7 @@ void MiniProjectTargetSelector::updateSummary() activeTarget->activeDeployConfiguration()->displayName())); if (!m_listWidgets[RUN]->isVisibleTo(this) && activeTarget->activeRunConfiguration()) summary.append(tr("Run: %1
").arg( - activeTarget->activeRunConfiguration()->displayName())); + activeTarget->activeRunConfiguration()->expandedDisplayName())); } else if (startupProject->needsConfiguration()) { summary = tr("" diff --git a/src/plugins/projectexplorer/projectconfiguration.cpp b/src/plugins/projectexplorer/projectconfiguration.cpp index e74a1c8ccab..10490df8542 100644 --- a/src/plugins/projectexplorer/projectconfiguration.cpp +++ b/src/plugins/projectexplorer/projectconfiguration.cpp @@ -144,3 +144,8 @@ Utils::Id ProjectExplorer::idFromMap(const QVariantMap &map) { return Utils::Id::fromSetting(map.value(QLatin1String(CONFIGURATION_ID_KEY))); } + +QString ProjectConfiguration::expandedDisplayName() const +{ + return m_target->macroExpander()->expand(m_displayName.value()); +} diff --git a/src/plugins/projectexplorer/projectconfiguration.h b/src/plugins/projectexplorer/projectconfiguration.h index b2161e7f1c3..eb4cc325a6a 100644 --- a/src/plugins/projectexplorer/projectconfiguration.h +++ b/src/plugins/projectexplorer/projectconfiguration.h @@ -56,6 +56,7 @@ public: Utils::Id id() const; QString displayName() const { return m_displayName.value(); } + QString expandedDisplayName() const; bool usesDefaultDisplayName() const { return m_displayName.usesDefaultValue(); } void setDisplayName(const QString &name); void setDefaultDisplayName(const QString &name); diff --git a/src/plugins/projectexplorer/projectconfigurationmodel.cpp b/src/plugins/projectexplorer/projectconfigurationmodel.cpp index a3a8d21e48f..9889b917da7 100644 --- a/src/plugins/projectexplorer/projectconfigurationmodel.cpp +++ b/src/plugins/projectexplorer/projectconfigurationmodel.cpp @@ -116,7 +116,7 @@ QVariant ProjectConfigurationModel::data(const QModelIndex &index, int role) con if (role == Qt::DisplayRole) { const int row = index.row(); if (row < m_projectConfigurations.size()) - return m_projectConfigurations.at(row)->displayName(); + return m_projectConfigurations.at(row)->expandedDisplayName(); } return QVariant(); diff --git a/src/plugins/projectexplorer/runconfiguration.cpp b/src/plugins/projectexplorer/runconfiguration.cpp index 5d7b613b23f..c79707fe682 100644 --- a/src/plugins/projectexplorer/runconfiguration.cpp +++ b/src/plugins/projectexplorer/runconfiguration.cpp @@ -429,10 +429,10 @@ QString RunConfigurationFactory::decoratedTargetName(const QString &targetName, if (IDevice::ConstPtr dev = DeviceKitAspect::device(target->kit())) { if (displayName.isEmpty()) { //: Shown in Run configuration if no executable is given, %1 is device name - displayName = RunConfiguration::tr("Run on %1").arg(dev->displayName()); + displayName = RunConfiguration::tr("Run on %{Device:Name}"); } else { //: Shown in Run configuration, Add menu: "name of runnable (on device name)" - displayName = RunConfiguration::tr("%1 (on %2)").arg(displayName, dev->displayName()); + displayName = RunConfiguration::tr("%1 (on %{Device:Name})").arg(displayName); } } }