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:
@@ -39,6 +39,7 @@
|
||||
#include "qt4projectmanagerconstants.h"
|
||||
|
||||
#include <qtsupport/qtsupportconstants.h>
|
||||
#include <coreplugin/dialogs/iwizard.h>
|
||||
|
||||
#include <QtCore/QCoreApplication>
|
||||
#include <QtGui/QIcon>
|
||||
@@ -87,19 +88,12 @@ bool QtQuickAppWizardDialog::validateCurrentPage()
|
||||
setIgnoreGenericOptionsPage(false);
|
||||
if (m_componentOptionsPage->componentSet() == QtQuickApp::Symbian11Components) {
|
||||
setIgnoreGenericOptionsPage(true);
|
||||
targetsPage()->setMinimumQtVersion(QtSupport::QtVersionNumber(4, 7, 4));
|
||||
QSet<QString> requiredFeatures;
|
||||
requiredFeatures << QLatin1String(Constants::QTQUICKCOMPONENTS_SYMBIAN_TARGETFEATURE_ID);
|
||||
targetsPage()->setRequiredFeatures(requiredFeatures);
|
||||
targetsPage()->setRequiredQtFeatures(Core::FeatureSet(QtSupport::Constants::FEATURE_QTQUICK_COMPONENTS_MEEGO));
|
||||
} else if (m_componentOptionsPage->componentSet() == QtQuickApp::Meego10Components) {
|
||||
targetsPage()->setMinimumQtVersion(QtSupport::QtVersionNumber(4, 7, 4));
|
||||
QSet<QString> requiredFeatures;
|
||||
requiredFeatures << QLatin1String(Constants::QTQUICKCOMPONENTS_MEEGO_TARGETFEATURE_ID);
|
||||
targetsPage()->setRequiredFeatures(requiredFeatures);
|
||||
targetsPage()->setRequiredQtFeatures(Core::FeatureSet(QtSupport::Constants::FEATURE_QTQUICK_COMPONENTS_MEEGO));
|
||||
} else {
|
||||
targetsPage()->setMinimumQtVersion(QtSupport::QtVersionNumber(4, 7, 0));
|
||||
QSet<QString> requiredFeatures;
|
||||
targetsPage()->setRequiredFeatures(requiredFeatures);
|
||||
targetsPage()->setRequiredQtFeatures(Core::FeatureSet());
|
||||
}
|
||||
}
|
||||
return AbstractMobileAppWizardDialog::validateCurrentPage();
|
||||
@@ -126,6 +120,13 @@ QtQuickAppWizard::~QtQuickAppWizard()
|
||||
delete d;
|
||||
}
|
||||
|
||||
Core::FeatureSet QtQuickAppWizard::requiredFeatures() const
|
||||
{
|
||||
return Core::Feature(QtSupport::Constants::FEATURE_GENERIC_CPP_ENTRY_POINT) |
|
||||
Core::Feature(QtSupport::Constants::FEATURE_QT_QUICK);
|
||||
|
||||
}
|
||||
|
||||
Core::BaseFileWizardParameters QtQuickAppWizard::parameters()
|
||||
{
|
||||
Core::BaseFileWizardParameters parameters(ProjectWizard);
|
||||
|
||||
Reference in New Issue
Block a user