diff --git a/src/plugins/coreplugin/iwizardfactory.cpp b/src/plugins/coreplugin/iwizardfactory.cpp index 28612db6e62..876a6d2a952 100644 --- a/src/plugins/coreplugin/iwizardfactory.cpp +++ b/src/plugins/coreplugin/iwizardfactory.cpp @@ -255,12 +255,7 @@ QString IWizardFactory::runPath(const QString &defaultPath) bool IWizardFactory::isAvailable(const QString &platformName) const { - FeatureSet availableFeatures = pluginFeatures(); - - foreach (const IFeatureProvider *featureManager, s_providerList) - availableFeatures |= featureManager->availableFeatures(platformName); - - return availableFeatures.contains(requiredFeatures()); + return availableFeatures(platformName).contains(requiredFeatures()); } QStringList IWizardFactory::supportedPlatforms() const @@ -338,6 +333,16 @@ FeatureSet IWizardFactory::pluginFeatures() const return plugins; } +FeatureSet IWizardFactory::availableFeatures(const QString &platformName) const +{ + FeatureSet availableFeatures = pluginFeatures(); + + foreach (const IFeatureProvider *featureManager, s_providerList) + availableFeatures |= featureManager->availableFeatures(platformName); + + return availableFeatures; +} + void IWizardFactory::initialize() { connect(ICore::instance(), &ICore::coreAboutToClose, &IWizardFactory::clearWizardFactories); diff --git a/src/plugins/coreplugin/iwizardfactory.h b/src/plugins/coreplugin/iwizardfactory.h index 1e44176ffe6..1f65e9d5c62 100644 --- a/src/plugins/coreplugin/iwizardfactory.h +++ b/src/plugins/coreplugin/iwizardfactory.h @@ -107,6 +107,7 @@ public: protected: FeatureSet pluginFeatures() const; + FeatureSet availableFeatures(const QString &platformName) const; private: static void initialize();