Wizards: Add a method to query available features

Change-Id: I4dc03acbd2fdc040c2a49ed8923d1615489d8288
Reviewed-by: Alessandro Portale <alessandro.portale@theqtcompany.com>
This commit is contained in:
Tobias Hunger
2015-05-27 15:29:27 +02:00
parent 7c1b21f60f
commit 97cb82c1be
2 changed files with 12 additions and 6 deletions

View File

@@ -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);