From 783a06b2eecba04c6df6ac362c5e9b1a1524db63 Mon Sep 17 00:00:00 2001 From: Orgad Shaneh Date: Mon, 9 Nov 2020 14:36:14 +0200 Subject: [PATCH] ProjectExplorer: Add a user controlled tooltip to build configuration Change-Id: I16b95f01273e9be4ebcbcaacd87c6afe4e4bda46 Reviewed-by: hjk --- src/plugins/projectexplorer/buildconfiguration.cpp | 14 +++++++++++++- 1 file changed, 13 insertions(+), 1 deletion(-) 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()