forked from qt-creator/qt-creator
Wizards: allows filtering of wizards based on Qt version
Every wizard now implements requiredFeatures() to define a feature set. If the feature set is not satisfied by the available Qt Versions, the wizard is not shown in the create file/project dialog. Every Qt version can define the provided feature set in availableFeatures() defined in BaseQtVersion. Change-Id: Ie9e2c210d19187b2296451948c36d274f2096623 Reviewed-by: Daniel Teske <daniel.teske@nokia.com> Reviewed-by: Alessandro Portale <alessandro.portale@nokia.com>
This commit is contained in:
@@ -35,6 +35,8 @@
|
||||
|
||||
#include <extensionsystem/pluginmanager.h>
|
||||
|
||||
#include <QtCore/QStringList>
|
||||
|
||||
/*!
|
||||
\class Core::IWizard
|
||||
\mainclass
|
||||
@@ -178,3 +180,14 @@ QList<IWizard*> IWizard::wizardsOfKind(WizardKind kind)
|
||||
return findWizards(WizardKindPredicate(kind));
|
||||
}
|
||||
|
||||
bool IWizard::isAvailable() const
|
||||
{
|
||||
FeatureSet availableFeatures;
|
||||
|
||||
const QList<Core::IFeatureProvider*> featureManagers = ExtensionSystem::PluginManager::instance()->getObjects<Core::IFeatureProvider>();
|
||||
|
||||
foreach (const Core::IFeatureProvider *featureManager, featureManagers)
|
||||
availableFeatures |= featureManager->availableFeatures();
|
||||
|
||||
return availableFeatures.contains(requiredFeatures());
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user