ProjectExplorer: Add an official way to connect aspects

Aspects are not completely orthogonal, e.g. working directory
depends usually on environment etc. So far handling this used
ad-hoc set up in the (Run)Configuration constructor. Lets make
this an official second phase, that also reduces the need to
use a specific construction order of aspects.

Change-Id: Ic98b7d4e1ac9d46a32ec624bbbbfbbc32a40ab32
Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
This commit is contained in:
hjk
2019-05-24 14:31:34 +02:00
parent a9d6de5702
commit 061896a148
3 changed files with 12 additions and 0 deletions

View File

@@ -181,6 +181,12 @@ ProjectConfigurationAspect *ProjectConfiguration::aspect(Core::Id id) const
return m_aspects.aspect(id);
}
void ProjectConfiguration::acquaintAspects()
{
for (ProjectConfigurationAspect *aspect : m_aspects)
aspect->acquaintSiblings(m_aspects);
}
Core::Id ProjectExplorer::idFromMap(const QVariantMap &map)
{
return Core::Id::fromSetting(map.value(QLatin1String(CONFIGURATION_ID_KEY)));