diff --git a/src/plugins/projectexplorer/buildconfiguration.cpp b/src/plugins/projectexplorer/buildconfiguration.cpp index 1733ac9236c..84935ded478 100644 --- a/src/plugins/projectexplorer/buildconfiguration.cpp +++ b/src/plugins/projectexplorer/buildconfiguration.cpp @@ -143,6 +143,7 @@ public: BuildStepList m_buildSteps; BuildStepList m_cleanSteps; BuildDirectoryAspect *m_buildDirectoryAspect = nullptr; + StringAspect *m_tooltipAspect = nullptr; FilePath m_lastEmittedBuildDirectory; mutable Environment m_cachedEnvironment; QString m_configWidgetDisplayName; @@ -208,6 +209,15 @@ BuildConfiguration::BuildConfiguration(Target *target, Utils::Id id) emit this->target()->buildEnvironmentChanged(this); }); + d->m_tooltipAspect = addAspect(); + d->m_tooltipAspect->setLabelText(tr("Tooltip in target selector:")); + d->m_tooltipAspect->setToolTip(tr("Appears as a tooltip when hovering the build configuration")); + d->m_tooltipAspect->setDisplayStyle(StringAspect::LineEditDisplay); + d->m_tooltipAspect->setSettingsKey("ProjectExplorer.BuildConfiguration.Tooltip"); + connect(d->m_tooltipAspect, &StringAspect::changed, this, [this] { + setToolTip(d->m_tooltipAspect->value()); + }); + connect(target, &Target::parsingStarted, this, &BuildConfiguration::enabledChanged); connect(target, &Target::parsingFinished, this, &BuildConfiguration::enabledChanged); connect(this, &BuildConfiguration::enabledChanged, this, [this] { @@ -403,7 +413,9 @@ bool BuildConfiguration::fromMap(const QVariantMap &map) d->m_customParsers = transform(map.value(CUSTOM_PARSERS_KEY).toList(), &Utils::Id::fromSetting); - return ProjectConfiguration::fromMap(map); + const bool res = ProjectConfiguration::fromMap(map); + setToolTip(d->m_tooltipAspect->value()); + return res; } void BuildConfiguration::updateCacheAndEmitEnvironmentChanged()