ProjectExplorer: declare only relevant aspects as features

This will disable python kits for all Wizards that require a valid Qt.

Change-Id: I4a8d6dd60629ddb556e49c067200acba8ef080d2
Reviewed-by: <github-actions-qt-creator@cristianadam.eu>
Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
This commit is contained in:
David Schulz
2024-01-25 11:50:00 +01:00
parent bd81ef4127
commit d9404208da
2 changed files with 5 additions and 3 deletions

View File

@@ -725,8 +725,10 @@ QSet<Id> Kit::supportedPlatforms() const
QSet<Id> Kit::availableFeatures() const QSet<Id> Kit::availableFeatures() const
{ {
QSet<Id> features; QSet<Id> features;
for (const KitAspectFactory *factory : KitManager::kitAspectFactories()) for (const KitAspectFactory *factory : KitManager::kitAspectFactories()) {
features |= factory->availableFeatures(this); if (relevantAspects().isEmpty() || relevantAspects().contains(factory->id()))
features |= factory->availableFeatures(this);
}
return features; return features;
} }

View File

@@ -147,7 +147,7 @@ public:
QSet<Id> availableFeatures(const Kit *k) const override QSet<Id> availableFeatures(const Kit *k) const override
{ {
if (k->isAspectRelevant(PythonKitAspect::id()) && PythonKitAspect::python(k)) if (PythonKitAspect::python(k))
return {PythonKitAspect::id()}; return {PythonKitAspect::id()};
return {}; return {};
} }