diff options
author | Thomas Hartmann <Thomas.Hartmann@nokia.com> | 2012-02-03 18:00:08 +0100 |
---|---|---|
committer | Thomas Hartmann <Thomas.Hartmann@nokia.com> | 2012-02-07 16:26:10 +0100 |
commit | 821eab6c52d5587b233a409f3086e223c7a270b2 (patch) | |
tree | 695875859f46982a950cf5f78b88fae11bc706af /src/plugins | |
parent | 88d95250ef9d13b9602c64d1ca6ad05529c072ba (diff) | |
download | qt-creator-821eab6c52d5587b233a409f3086e223c7a270b2.tar.gz |
Wizards: refactoring - adding WizardDialogParameters
The Wizards itself (derived from IWizard) and the dialogs
implementing the wizards were quite discoupled.
Since I want to add parameters that are delivered from
IWizard::run to the dialog a I added WizardDialogParameters.
Examples of paramters I want to add are the choosen platform
and the choosen subOption/template for this wizard.
Change-Id: I9c0ae2901e3d46d3c36a3f433f4d7d508a6ba74e
Reviewed-by: Alessandro Portale <alessandro.portale@nokia.com>
Diffstat (limited to 'src/plugins')
58 files changed, 248 insertions, 215 deletions
diff --git a/src/plugins/coreplugin/basefilewizard.cpp b/src/plugins/coreplugin/basefilewizard.cpp index 09780015a0..980d3981cd 100644 --- a/src/plugins/coreplugin/basefilewizard.cpp +++ b/src/plugins/coreplugin/basefilewizard.cpp @@ -437,7 +437,11 @@ void BaseFileWizard::runWizard(const QString &path, QWidget *parent) // Create dialog and run it. Ensure that the dialog is deleted when // leaving the func, but not before the IFileWizardExtension::process // has been called - const QScopedPointer<QWizard> wizard(createWizardDialog(parent, path, allExtensionPages)); + const QScopedPointer<QWizard> wizard(createWizardDialog(parent, + WizardDialogParameters(path, + allExtensionPages, + QString(), + requiredFeatures()))); QTC_ASSERT(!wizard.isNull(), return); GeneratedFiles files; @@ -773,14 +777,13 @@ StandardFileWizard::StandardFileWizard(const BaseFileWizardParameters ¶meter */ QWizard *StandardFileWizard::createWizardDialog(QWidget *parent, - const QString &defaultPath, - const WizardPageList &extensionPages) const + const WizardDialogParameters &wizardDialogParameters) const { Utils::FileWizardDialog *standardWizardDialog = new Utils::FileWizardDialog(parent); standardWizardDialog->setWindowTitle(tr("New %1").arg(displayName())); setupWizard(standardWizardDialog); - standardWizardDialog->setPath(defaultPath); - foreach (QWizardPage *p, extensionPages) + standardWizardDialog->setPath(wizardDialogParameters.defaultPath()); + foreach (QWizardPage *p, wizardDialogParameters.extensionPages()) BaseFileWizard::applyExtensionPageShortTitle(standardWizardDialog, standardWizardDialog->addPage(p)); return standardWizardDialog; } diff --git a/src/plugins/coreplugin/basefilewizard.h b/src/plugins/coreplugin/basefilewizard.h index 76a40c35a5..6a511c15b6 100644 --- a/src/plugins/coreplugin/basefilewizard.h +++ b/src/plugins/coreplugin/basefilewizard.h @@ -100,6 +100,37 @@ private: CORE_EXPORT QDebug operator<<(QDebug d, const BaseFileWizardParameters &); +class CORE_EXPORT WizardDialogParameters +{ +public: + typedef QList<QWizardPage *> WizardPageList; + + explicit WizardDialogParameters(const QString &defaultPath, const WizardPageList &extensionPages, + const QString &platform, const Core::FeatureSet &requiredFeatures) + : m_defaultPath(defaultPath), + m_extensionPages(extensionPages), + m_selectedPlatform(platform), + m_requiredFeatures(requiredFeatures) {} + + QString defaultPath() const + { return m_defaultPath; } + + WizardPageList extensionPages() const + { return m_extensionPages; } + + QString selectedPlatform() const + { return m_selectedPlatform; } + + Core::FeatureSet requiredFeatures() const + { return m_requiredFeatures; } + +private: + QString m_defaultPath; + WizardPageList m_extensionPages; + QString m_selectedPlatform; + Core::FeatureSet m_requiredFeatures; +}; + class CORE_EXPORT BaseFileWizard : public IWizard { Q_OBJECT @@ -132,8 +163,8 @@ protected: BaseFileWizardParameters baseFileWizardParameters() const; virtual QWizard *createWizardDialog(QWidget *parent, - const QString &defaultPath, - const WizardPageList &extensionPages) const = 0; + const WizardDialogParameters &wizardDialogParameters) const = 0; + virtual GeneratedFiles generateFiles(const QWizard *w, QString *errorMessage) const = 0; @@ -158,9 +189,7 @@ class CORE_EXPORT StandardFileWizard : public BaseFileWizard protected: explicit StandardFileWizard(const BaseFileWizardParameters ¶meters, QObject *parent = 0); - virtual QWizard *createWizardDialog(QWidget *parent, - const QString &defaultPath, - const WizardPageList &extensionPages) const; + virtual QWizard *createWizardDialog(QWidget *parent, const WizardDialogParameters &wizardDialogParameters) const; virtual GeneratedFiles generateFiles(const QWizard *w, QString *errorMessage) const; virtual GeneratedFiles generateFilesFromPath(const QString &path, const QString &name, QString *errorMessage) const = 0; diff --git a/src/plugins/cppeditor/cppclasswizard.cpp b/src/plugins/cppeditor/cppclasswizard.cpp index 728cf0b331..3388af7aac 100644 --- a/src/plugins/cppeditor/cppclasswizard.cpp +++ b/src/plugins/cppeditor/cppclasswizard.cpp @@ -170,13 +170,12 @@ QString CppClassWizard::headerSuffix() const } QWizard *CppClassWizard::createWizardDialog(QWidget *parent, - const QString &defaultPath, - const WizardPageList &extensionPages) const + const Core::WizardDialogParameters &wizardDialogParameters) const { CppClassWizardDialog *wizard = new CppClassWizardDialog(parent); - foreach (QWizardPage *p, extensionPages) + foreach (QWizardPage *p, wizardDialogParameters.extensionPages()) BaseFileWizard::applyExtensionPageShortTitle(wizard, wizard->addPage(p)); - wizard->setPath(defaultPath); + wizard->setPath(wizardDialogParameters.defaultPath()); return wizard; } diff --git a/src/plugins/cppeditor/cppclasswizard.h b/src/plugins/cppeditor/cppclasswizard.h index 3781ec4ba6..4608520acb 100644 --- a/src/plugins/cppeditor/cppclasswizard.h +++ b/src/plugins/cppeditor/cppclasswizard.h @@ -106,8 +106,7 @@ public: protected: virtual QWizard *createWizardDialog(QWidget *parent, - const QString &defaultPath, - const WizardPageList &extensionPages) const; + const Core::WizardDialogParameters &wizardDialogParameters) const; virtual Core::GeneratedFiles generateFiles(const QWizard *w, diff --git a/src/plugins/designer/cpp/formclasswizard.cpp b/src/plugins/designer/cpp/formclasswizard.cpp index 63fd586ec6..fe5e5155d6 100644 --- a/src/plugins/designer/cpp/formclasswizard.cpp +++ b/src/plugins/designer/cpp/formclasswizard.cpp @@ -72,12 +72,11 @@ Core::FeatureSet FormClassWizard::requiredFeatures() const } QWizard *FormClassWizard::createWizardDialog(QWidget *parent, - const QString &defaultPath, - const WizardPageList &extensionPages) const + const Core::WizardDialogParameters &wizardDialogParameters) const { - FormClassWizardDialog *wizardDialog = new FormClassWizardDialog(extensionPages, + FormClassWizardDialog *wizardDialog = new FormClassWizardDialog(wizardDialogParameters.extensionPages(), parent); - wizardDialog->setPath(defaultPath); + wizardDialog->setPath(wizardDialogParameters.defaultPath()); return wizardDialog; } diff --git a/src/plugins/designer/cpp/formclasswizard.h b/src/plugins/designer/cpp/formclasswizard.h index 2d75c0375b..ca01457c63 100644 --- a/src/plugins/designer/cpp/formclasswizard.h +++ b/src/plugins/designer/cpp/formclasswizard.h @@ -59,8 +59,7 @@ public: protected: virtual QWizard *createWizardDialog(QWidget *parent, - const QString &defaultPath, - const WizardPageList &extensionPages) const; + const Core::WizardDialogParameters &wizardDialogParameters) const; virtual Core::GeneratedFiles generateFiles(const QWizard *w, QString *errorMessage) const; diff --git a/src/plugins/designer/formwizard.cpp b/src/plugins/designer/formwizard.cpp index fb295eb2f1..bae0a83ff1 100644 --- a/src/plugins/designer/formwizard.cpp +++ b/src/plugins/designer/formwizard.cpp @@ -52,11 +52,11 @@ Core::FeatureSet FormWizard::requiredFeatures() const } QWizard *FormWizard::createWizardDialog(QWidget *parent, - const QString &defaultPath, - const WizardPageList &extensionPages) const + const Core::WizardDialogParameters &wizardDialogParameters) const { - FormFileWizardDialog *wizardDialog = new FormFileWizardDialog(extensionPages, parent); - wizardDialog->setPath(defaultPath); + FormFileWizardDialog *wizardDialog = new FormFileWizardDialog(wizardDialogParameters.extensionPages(), + parent); + wizardDialog->setPath(wizardDialogParameters.defaultPath()); return wizardDialog; } diff --git a/src/plugins/designer/formwizard.h b/src/plugins/designer/formwizard.h index 160b263cc4..9f8e47bf04 100644 --- a/src/plugins/designer/formwizard.h +++ b/src/plugins/designer/formwizard.h @@ -51,8 +51,7 @@ public: protected: virtual QWizard *createWizardDialog(QWidget *parent, - const QString &defaultPath, - const WizardPageList &extensionPages) const; + const Core::WizardDialogParameters &wizardDialogParameters) const; virtual Core::GeneratedFiles generateFiles(const QWizard *w, QString *errorMessage) const; diff --git a/src/plugins/genericprojectmanager/genericprojectwizard.cpp b/src/plugins/genericprojectmanager/genericprojectwizard.cpp index 9e71d1ac64..08c95d332a 100644 --- a/src/plugins/genericprojectmanager/genericprojectwizard.cpp +++ b/src/plugins/genericprojectmanager/genericprojectwizard.cpp @@ -142,15 +142,14 @@ Core::BaseFileWizardParameters GenericProjectWizard::parameters() } QWizard *GenericProjectWizard::createWizardDialog(QWidget *parent, - const QString &defaultPath, - const WizardPageList &extensionPages) const + const Core::WizardDialogParameters &wizardDialogParameters) const { GenericProjectWizardDialog *wizard = new GenericProjectWizardDialog(parent); setupWizard(wizard); - wizard->setPath(defaultPath); + wizard->setPath(wizardDialogParameters.defaultPath()); - foreach (QWizardPage *p, extensionPages) + foreach (QWizardPage *p, wizardDialogParameters.extensionPages()) BaseFileWizard::applyExtensionPageShortTitle(wizard, wizard->addPage(p)); return wizard; diff --git a/src/plugins/genericprojectmanager/genericprojectwizard.h b/src/plugins/genericprojectmanager/genericprojectwizard.h index 57c05876f4..761c6cd7a7 100644 --- a/src/plugins/genericprojectmanager/genericprojectwizard.h +++ b/src/plugins/genericprojectmanager/genericprojectwizard.h @@ -84,8 +84,7 @@ public: protected: virtual QWizard *createWizardDialog(QWidget *parent, - const QString &defaultPath, - const WizardPageList &extensionPages) const; + const Core::WizardDialogParameters &wizardDialogParameters) const; virtual Core::GeneratedFiles generateFiles(const QWizard *w, QString *errorMessage) const; diff --git a/src/plugins/glsleditor/glslfilewizard.cpp b/src/plugins/glsleditor/glslfilewizard.cpp index a81ce9ee99..8a6cfd2194 100644 --- a/src/plugins/glsleditor/glslfilewizard.cpp +++ b/src/plugins/glsleditor/glslfilewizard.cpp @@ -137,14 +137,14 @@ QString GLSLFileWizard::fileContents(const QString &, ShaderType shaderType) con return contents; } -QWizard *GLSLFileWizard::createWizardDialog(QWidget *parent, const QString &defaultPath, - const WizardPageList &extensionPages) const +QWizard *GLSLFileWizard::createWizardDialog(QWidget *parent, + const Core::WizardDialogParameters &wizardDialogParameters) const { GLSLFileWizardDialog *wizardDialog = new GLSLFileWizardDialog(parent); wizardDialog->setWindowTitle(tr("New %1").arg(displayName())); setupWizard(wizardDialog); - wizardDialog->setPath(defaultPath); - foreach (QWizardPage *p, extensionPages) + wizardDialog->setPath(wizardDialogParameters.defaultPath()); + foreach (QWizardPage *p, wizardDialogParameters.extensionPages()) BaseFileWizard::applyExtensionPageShortTitle(wizardDialog, wizardDialog->addPage(p)); return wizardDialog; } diff --git a/src/plugins/glsleditor/glslfilewizard.h b/src/plugins/glsleditor/glslfilewizard.h index 6f3f9f645b..6e76a72f45 100644 --- a/src/plugins/glsleditor/glslfilewizard.h +++ b/src/plugins/glsleditor/glslfilewizard.h @@ -61,8 +61,7 @@ protected: QString fileContents(const QString &baseName, ShaderType shaderType) const; virtual QWizard *createWizardDialog(QWidget *parent, - const QString &defaultPath, - const WizardPageList &extensionPages) const; + const Core::WizardDialogParameters &wizardDialogParameters) const; virtual Core::GeneratedFiles generateFiles(const QWizard *w, QString *errorMessage) const; diff --git a/src/plugins/projectexplorer/baseprojectwizarddialog.cpp b/src/plugins/projectexplorer/baseprojectwizarddialog.cpp index 5022cce657..8086787ffe 100644 --- a/src/plugins/projectexplorer/baseprojectwizarddialog.cpp +++ b/src/plugins/projectexplorer/baseprojectwizarddialog.cpp @@ -65,7 +65,8 @@ BaseProjectWizardDialogPrivate::BaseProjectWizardDialogPrivate(Utils::ProjectInt { } -BaseProjectWizardDialog::BaseProjectWizardDialog(QWidget *parent) : +BaseProjectWizardDialog::BaseProjectWizardDialog(QWidget *parent, + const Core::WizardDialogParameters & /*parameters*/) : Utils::Wizard(parent), d(new BaseProjectWizardDialogPrivate(new Utils::ProjectIntroPage)) { @@ -74,7 +75,8 @@ BaseProjectWizardDialog::BaseProjectWizardDialog(QWidget *parent) : BaseProjectWizardDialog::BaseProjectWizardDialog(Utils::ProjectIntroPage *introPage, int introId, - QWidget *parent) : + QWidget *parent, + const Core::WizardDialogParameters & /*parameters*/) : Utils::Wizard(parent), d(new BaseProjectWizardDialogPrivate(introPage, introId)) { diff --git a/src/plugins/projectexplorer/baseprojectwizarddialog.h b/src/plugins/projectexplorer/baseprojectwizarddialog.h index 055b115bf6..c9b7f93356 100644 --- a/src/plugins/projectexplorer/baseprojectwizarddialog.h +++ b/src/plugins/projectexplorer/baseprojectwizarddialog.h @@ -34,6 +34,7 @@ #define BASEPROJECTWIZARDDIALOG_H #include "projectexplorer_export.h" +#include <coreplugin/basefilewizard.h> #include <utils/wizard.h> #include <QtGui/QWizard> @@ -53,11 +54,11 @@ class PROJECTEXPLORER_EXPORT BaseProjectWizardDialog : public Utils::Wizard protected: explicit BaseProjectWizardDialog(Utils::ProjectIntroPage *introPage, - int introId = -1, - QWidget *parent = 0); + int introId, + QWidget *parent, const Core::WizardDialogParameters ¶meters); public: - explicit BaseProjectWizardDialog(QWidget *parent = 0); + explicit BaseProjectWizardDialog(QWidget *parent, const Core::WizardDialogParameters ¶meters); virtual ~BaseProjectWizardDialog(); diff --git a/src/plugins/projectexplorer/customwizard/customwizard.cpp b/src/plugins/projectexplorer/customwizard/customwizard.cpp index 60633cdd04..a42d21b61c 100644 --- a/src/plugins/projectexplorer/customwizard/customwizard.cpp +++ b/src/plugins/projectexplorer/customwizard/customwizard.cpp @@ -155,12 +155,11 @@ void CustomWizard::initWizardDialog(Utils::Wizard *wizard, const QString &defaul } QWizard *CustomWizard::createWizardDialog(QWidget *parent, - const QString &defaultPath, - const WizardPageList &extensionPages) const + const Core::WizardDialogParameters &wizardDialogParameters) const { QTC_ASSERT(!d->m_parameters.isNull(), return 0); Utils::Wizard *wizard = new Utils::Wizard(parent); - initWizardDialog(wizard, defaultPath, extensionPages); + initWizardDialog(wizard, wizardDialogParameters.defaultPath(), wizardDialogParameters.extensionPages()); return wizard; } @@ -522,13 +521,14 @@ CustomProjectWizard::CustomProjectWizard(const Core::BaseFileWizardParameters& b initProjectWizardDialog() needs to be called. */ -QWizard *CustomProjectWizard::createWizardDialog(QWidget *parent, - const QString &defaultPath, - const WizardPageList &extensionPages) const + QWizard *CustomProjectWizard::createWizardDialog(QWidget *parent, + const Core::WizardDialogParameters &wizardDialogParameters) const { QTC_ASSERT(!parameters().isNull(), return 0); - BaseProjectWizardDialog *projectDialog = new BaseProjectWizardDialog(parent); - initProjectWizardDialog(projectDialog, defaultPath, extensionPages); + BaseProjectWizardDialog *projectDialog = new BaseProjectWizardDialog(parent, wizardDialogParameters); + initProjectWizardDialog(projectDialog, + wizardDialogParameters.defaultPath(), + wizardDialogParameters.extensionPages()); return projectDialog; } diff --git a/src/plugins/projectexplorer/customwizard/customwizard.h b/src/plugins/projectexplorer/customwizard/customwizard.h index f1323b2452..2af4c59beb 100644 --- a/src/plugins/projectexplorer/customwizard/customwizard.h +++ b/src/plugins/projectexplorer/customwizard/customwizard.h @@ -89,8 +89,7 @@ public: // Can be reimplemented to create custom wizards. initWizardDialog() needs to be // called. virtual QWizard *createWizardDialog(QWidget *parent, - const QString &defaultPath, - const WizardPageList &extensionPages) const; + const Core::WizardDialogParameters &wizardDialogParameters) const; virtual Core::GeneratedFiles generateFiles(const QWizard *w, QString *errorMessage) const; @@ -128,7 +127,8 @@ protected: private: void setParameters(const CustomWizardParametersPtr &p); - static CustomWizard *createWizard(const CustomWizardParametersPtr &p, const Core::BaseFileWizardParameters &b); + static CustomWizard *createWizard(const CustomWizardParametersPtr &p, + const Core::BaseFileWizardParameters &b); CustomWizardPrivate *d; }; @@ -141,8 +141,7 @@ public: QObject *parent = 0); virtual QWizard *createWizardDialog(QWidget *parent, - const QString &defaultPath, - const WizardPageList &extensionPages) const; + const Core::WizardDialogParameters &wizardDialogParameters) const; virtual Core::GeneratedFiles generateFiles(const QWizard *w, QString *errorMessage) const; diff --git a/src/plugins/qmljseditor/jsfilewizard.cpp b/src/plugins/qmljseditor/jsfilewizard.cpp index 38a20a4b18..8a58b7245b 100644 --- a/src/plugins/qmljseditor/jsfilewizard.cpp +++ b/src/plugins/qmljseditor/jsfilewizard.cpp @@ -134,14 +134,14 @@ QString JsFileWizard::fileContents(const QString &, bool statelessLibrary) const return contents; } -QWizard *JsFileWizard::createWizardDialog(QWidget *parent, const QString &defaultPath, - const WizardPageList &extensionPages) const +QWizard *JsFileWizard::createWizardDialog(QWidget *parent, + const Core::WizardDialogParameters &wizardDialogParameters) const { JsFileWizardDialog *wizardDialog = new JsFileWizardDialog(parent); wizardDialog->setWindowTitle(tr("New %1").arg(displayName())); setupWizard(wizardDialog); - wizardDialog->setPath(defaultPath); - foreach (QWizardPage *p, extensionPages) + wizardDialog->setPath(wizardDialogParameters.defaultPath()); + foreach (QWizardPage *p, wizardDialogParameters.extensionPages()) BaseFileWizard::applyExtensionPageShortTitle(wizardDialog, wizardDialog->addPage(p)); return wizardDialog; } diff --git a/src/plugins/qmljseditor/jsfilewizard.h b/src/plugins/qmljseditor/jsfilewizard.h index 4bde79fa7b..4594398a21 100644 --- a/src/plugins/qmljseditor/jsfilewizard.h +++ b/src/plugins/qmljseditor/jsfilewizard.h @@ -53,8 +53,7 @@ protected: QString fileContents(const QString &baseName, bool statelessLibrary) const; virtual QWizard *createWizardDialog(QWidget *parent, - const QString &defaultPath, - const WizardPageList &extensionPages) const; + const Core::WizardDialogParameters &wizardDialogParameters) const; virtual Core::GeneratedFiles generateFiles(const QWizard *w, QString *errorMessage) const; diff --git a/src/plugins/qmlprojectmanager/qmlprojectapplicationwizard.cpp b/src/plugins/qmlprojectmanager/qmlprojectapplicationwizard.cpp index aed207497d..26dab3b097 100644 --- a/src/plugins/qmlprojectmanager/qmlprojectapplicationwizard.cpp +++ b/src/plugins/qmlprojectmanager/qmlprojectapplicationwizard.cpp @@ -50,8 +50,9 @@ namespace QmlProjectManager { namespace Internal { -QmlProjectApplicationWizardDialog::QmlProjectApplicationWizardDialog(QWidget *parent) : - ProjectExplorer::BaseProjectWizardDialog(parent) +QmlProjectApplicationWizardDialog::QmlProjectApplicationWizardDialog(QWidget *parent, + const Core::WizardDialogParameters ¶meters) : + ProjectExplorer::BaseProjectWizardDialog(parent, parameters) { setWindowTitle(tr("New Qt Quick UI Project")); setIntroDescription(tr("This wizard generates a Qt Quick UI project.")); @@ -88,15 +89,14 @@ Core::BaseFileWizardParameters QmlProjectApplicationWizard::parameters() } QWizard *QmlProjectApplicationWizard::createWizardDialog(QWidget *parent, - const QString &defaultPath, - const WizardPageList &extensionPages) const + const Core::WizardDialogParameters &wizardDialogParameters) const { - QmlProjectApplicationWizardDialog *wizard = new QmlProjectApplicationWizardDialog(parent); + QmlProjectApplicationWizardDialog *wizard = new QmlProjectApplicationWizardDialog(parent, wizardDialogParameters); - wizard->setPath(defaultPath); - wizard->setProjectName(QmlProjectApplicationWizardDialog::uniqueProjectName(defaultPath)); + wizard->setPath(wizardDialogParameters.defaultPath()); + wizard->setProjectName(QmlProjectApplicationWizardDialog::uniqueProjectName(wizardDialogParameters.defaultPath())); - foreach (QWizardPage *p, extensionPages) + foreach (QWizardPage *p, wizardDialogParameters.extensionPages()) BaseFileWizard::applyExtensionPageShortTitle(wizard, wizard->addPage(p)); return wizard; diff --git a/src/plugins/qmlprojectmanager/qmlprojectapplicationwizard.h b/src/plugins/qmlprojectmanager/qmlprojectapplicationwizard.h index fc4bf2a686..8ca400213f 100644 --- a/src/plugins/qmlprojectmanager/qmlprojectapplicationwizard.h +++ b/src/plugins/qmlprojectmanager/qmlprojectapplicationwizard.h @@ -43,7 +43,8 @@ class QmlProjectApplicationWizardDialog : public ProjectExplorer::BaseProjectWiz { Q_OBJECT public: - explicit QmlProjectApplicationWizardDialog(QWidget *parent = 0); + explicit QmlProjectApplicationWizardDialog(QWidget *parent, + const Core::WizardDialogParameters ¶meters); }; class QmlProjectApplicationWizard : public Core::BaseFileWizard @@ -59,8 +60,7 @@ public: protected: virtual QWizard *createWizardDialog(QWidget *parent, - const QString &defaultPath, - const WizardPageList &extensionPages) const; + const Core::WizardDialogParameters &wizardDialogParameters) const; virtual Core::GeneratedFiles generateFiles(const QWizard *w, QString *errorMessage) const; diff --git a/src/plugins/qt4projectmanager/customwidgetwizard/customwidgetwizard.cpp b/src/plugins/qt4projectmanager/customwidgetwizard/customwidgetwizard.cpp index 664feafe92..6a849d62dc 100644 --- a/src/plugins/qt4projectmanager/customwidgetwizard/customwidgetwizard.cpp +++ b/src/plugins/qt4projectmanager/customwidgetwizard/customwidgetwizard.cpp @@ -61,12 +61,14 @@ Core::FeatureSet CustomWidgetWizard::requiredFeatures() const } QWizard *CustomWidgetWizard::createWizardDialog(QWidget *parent, - const QString &defaultPath, - const WizardPageList &extensionPages) const + const Core::WizardDialogParameters &wizardDialogParameters) const { - CustomWidgetWizardDialog *rc = new CustomWidgetWizardDialog(displayName(), icon(), extensionPages, parent); - rc->setPath(defaultPath); - rc->setProjectName(CustomWidgetWizardDialog::uniqueProjectName(defaultPath)); + CustomWidgetWizardDialog *rc = new CustomWidgetWizardDialog(displayName(), + icon(), + parent, + wizardDialogParameters); + rc->setPath(wizardDialogParameters.defaultPath()); + rc->setProjectName(CustomWidgetWizardDialog::uniqueProjectName(wizardDialogParameters.defaultPath())); rc->setFileNamingParameters(FileNamingParameters(headerSuffix(), sourceSuffix(), QtWizard::lowerCaseFiles())); return rc; } diff --git a/src/plugins/qt4projectmanager/customwidgetwizard/customwidgetwizard.h b/src/plugins/qt4projectmanager/customwidgetwizard/customwidgetwizard.h index 8338f22436..68b7488cff 100644 --- a/src/plugins/qt4projectmanager/customwidgetwizard/customwidgetwizard.h +++ b/src/plugins/qt4projectmanager/customwidgetwizard/customwidgetwizard.h @@ -48,8 +48,7 @@ public: protected: virtual QWizard *createWizardDialog(QWidget *parent, - const QString &defaultPath, - const WizardPageList &extensionPages) const; + const Core::WizardDialogParameters &wizardDialogParameters) const; virtual Core::GeneratedFiles generateFiles(const QWizard *w, QString *errorMessage) const; diff --git a/src/plugins/qt4projectmanager/customwidgetwizard/customwidgetwizarddialog.cpp b/src/plugins/qt4projectmanager/customwidgetwizard/customwidgetwizarddialog.cpp index cf48074ba5..5244317142 100644 --- a/src/plugins/qt4projectmanager/customwidgetwizard/customwidgetwizarddialog.cpp +++ b/src/plugins/qt4projectmanager/customwidgetwizard/customwidgetwizarddialog.cpp @@ -42,9 +42,9 @@ enum { IntroPageId = 0}; CustomWidgetWizardDialog::CustomWidgetWizardDialog(const QString &templateName, const QIcon &icon, - const QList<QWizardPage*> &extensionPages, - QWidget *parent) : - BaseQt4ProjectWizardDialog(false, parent), + QWidget *parent, + const Core::WizardDialogParameters ¶meters) : + BaseQt4ProjectWizardDialog(false, parent, parameters), m_widgetsPage(new CustomWidgetWidgetsWizardPage), m_pluginPage(new CustomWidgetPluginWizardPage), m_widgetPageId(-1), m_pluginPageId(-1) @@ -61,7 +61,7 @@ CustomWidgetWizardDialog::CustomWidgetWizardDialog(const QString &templateName, wizardProgress()->item(m_widgetPageId)->setTitle(tr("Custom Widgets")); wizardProgress()->item(m_pluginPageId)->setTitle(tr("Plugin Details")); - foreach (QWizardPage *p, extensionPages) + foreach (QWizardPage *p, parameters.extensionPages()) Core::BaseFileWizard::applyExtensionPageShortTitle(this, addPage(p)); connect(this, SIGNAL(currentIdChanged(int)), this, SLOT(slotCurrentIdChanged(int))); } diff --git a/src/plugins/qt4projectmanager/customwidgetwizard/customwidgetwizarddialog.h b/src/plugins/qt4projectmanager/customwidgetwizard/customwidgetwizarddialog.h index f55d59daca..7d13215d4e 100644 --- a/src/plugins/qt4projectmanager/customwidgetwizard/customwidgetwizarddialog.h +++ b/src/plugins/qt4projectmanager/customwidgetwizard/customwidgetwizarddialog.h @@ -51,8 +51,8 @@ class CustomWidgetWizardDialog : public BaseQt4ProjectWizardDialog public: explicit CustomWidgetWizardDialog(const QString &templateName, const QIcon &icon, - const QList<QWizardPage*> &extensionPages, - QWidget *parent); + QWidget *parent, + const Core::WizardDialogParameters ¶meters); QSharedPointer<PluginOptions> pluginOptions() const; diff --git a/src/plugins/qt4projectmanager/wizards/abstractmobileappwizard.cpp b/src/plugins/qt4projectmanager/wizards/abstractmobileappwizard.cpp index 6a5a552712..994f6d3dfc 100644 --- a/src/plugins/qt4projectmanager/wizards/abstractmobileappwizard.cpp +++ b/src/plugins/qt4projectmanager/wizards/abstractmobileappwizard.cpp @@ -51,8 +51,9 @@ namespace Qt4ProjectManager { AbstractMobileAppWizardDialog::AbstractMobileAppWizardDialog(QWidget *parent, const QtSupport::QtVersionNumber &minimumQtVersionNumber, - const QtSupport::QtVersionNumber &maximumQtVersionNumber) - : ProjectExplorer::BaseProjectWizardDialog(parent) + const QtSupport::QtVersionNumber &maximumQtVersionNumber, + const Core::WizardDialogParameters ¶meters) + : ProjectExplorer::BaseProjectWizardDialog(parent, parameters) , m_genericOptionsPageId(-1) , m_symbianOptionsPageId(-1) , m_maemoOptionsPageId(-1) @@ -227,12 +228,12 @@ AbstractMobileAppWizard::AbstractMobileAppWizard(const Core::BaseFileWizardParam } QWizard *AbstractMobileAppWizard::createWizardDialog(QWidget *parent, - const QString &defaultPath, const WizardPageList &extensionPages) const + const Core::WizardDialogParameters &wizardDialogParameters) const { AbstractMobileAppWizardDialog * const wdlg - = createWizardDialogInternal(parent); - wdlg->setPath(defaultPath); - wdlg->setProjectName(ProjectExplorer::BaseProjectWizardDialog::uniqueProjectName(defaultPath)); + = createWizardDialogInternal(parent, wizardDialogParameters); + wdlg->setPath(wizardDialogParameters.defaultPath()); + wdlg->setProjectName(ProjectExplorer::BaseProjectWizardDialog::uniqueProjectName(wizardDialogParameters.defaultPath())); wdlg->m_genericOptionsPage->setOrientation(app()->orientation()); wdlg->m_symbianOptionsPage->setSvgIcon(app()->symbianSvgIcon()); wdlg->m_symbianOptionsPage->setNetworkEnabled(app()->networkEnabled()); @@ -241,7 +242,7 @@ QWizard *AbstractMobileAppWizard::createWizardDialog(QWidget *parent, wdlg->m_harmattanOptionsPage->setBoosterOptionEnabled(app()->canSupportMeegoBooster()); connect(wdlg, SIGNAL(projectParametersChanged(QString, QString)), SLOT(useProjectPath(QString, QString))); - foreach (QWizardPage *p, extensionPages) + foreach (QWizardPage *p, wizardDialogParameters.extensionPages()) BaseFileWizard::applyExtensionPageShortTitle(wdlg, wdlg->addPage(p)); return wdlg; } diff --git a/src/plugins/qt4projectmanager/wizards/abstractmobileappwizard.h b/src/plugins/qt4projectmanager/wizards/abstractmobileappwizard.h index 42f0efe246..759efa0017 100644 --- a/src/plugins/qt4projectmanager/wizards/abstractmobileappwizard.h +++ b/src/plugins/qt4projectmanager/wizards/abstractmobileappwizard.h @@ -57,7 +57,9 @@ class QT4PROJECTMANAGER_EXPORT AbstractMobileAppWizardDialog : public ProjectExp Q_OBJECT protected: - explicit AbstractMobileAppWizardDialog(QWidget *parent, const QtSupport::QtVersionNumber &minimumQtVersionNumber, const QtSupport::QtVersionNumber &maximumQtVersionNumber); + explicit AbstractMobileAppWizardDialog(QWidget *parent, const QtSupport::QtVersionNumber &minimumQtVersionNumber, + const QtSupport::QtVersionNumber &maximumQtVersionNumber, + const Core::WizardDialogParameters ¶meters); void addMobilePages(); public: @@ -116,7 +118,7 @@ protected: private: virtual QWizard *createWizardDialog(QWidget *parent, - const QString &defaultPath, const WizardPageList &extensionPages) const; + const Core::WizardDialogParameters &wizardDialogParameters) const; virtual Core::GeneratedFiles generateFiles(const QWizard *wizard, QString *errorMessage) const; virtual bool postGenerateFiles(const QWizard *w, @@ -124,7 +126,8 @@ private: virtual AbstractMobileApp *app() const = 0; virtual AbstractMobileAppWizardDialog *wizardDialog() const = 0; - virtual AbstractMobileAppWizardDialog *createWizardDialogInternal(QWidget *parent) const = 0; + virtual AbstractMobileAppWizardDialog *createWizardDialogInternal(QWidget *parent, + const Core::WizardDialogParameters &wizardDialogParameters) const = 0; virtual void projectPathChanged(const QString &path) const = 0; virtual void prepareGenerateFiles(const QWizard *wizard, QString *errorMessage) const = 0; diff --git a/src/plugins/qt4projectmanager/wizards/consoleappwizard.cpp b/src/plugins/qt4projectmanager/wizards/consoleappwizard.cpp index c6df213635..4a10c5fed1 100644 --- a/src/plugins/qt4projectmanager/wizards/consoleappwizard.cpp +++ b/src/plugins/qt4projectmanager/wizards/consoleappwizard.cpp @@ -68,13 +68,12 @@ ConsoleAppWizard::ConsoleAppWizard() } QWizard *ConsoleAppWizard::createWizardDialog(QWidget *parent, - const QString &defaultPath, - const WizardPageList &extensionPages) const + const Core::WizardDialogParameters &wizardDialogParameters) const { - ConsoleAppWizardDialog *dialog = new ConsoleAppWizardDialog(displayName(), icon(), extensionPages, - showModulesPageForApplications(), parent); - dialog->setPath(defaultPath); - dialog->setProjectName(ConsoleAppWizardDialog::uniqueProjectName(defaultPath)); + ConsoleAppWizardDialog *dialog = new ConsoleAppWizardDialog(displayName(), icon(), + showModulesPageForApplications(), parent, wizardDialogParameters); + dialog->setPath(wizardDialogParameters.defaultPath()); + dialog->setProjectName(ConsoleAppWizardDialog::uniqueProjectName(wizardDialogParameters.defaultPath())); return dialog; } diff --git a/src/plugins/qt4projectmanager/wizards/consoleappwizard.h b/src/plugins/qt4projectmanager/wizards/consoleappwizard.h index 40d22137f9..36dba7707a 100644 --- a/src/plugins/qt4projectmanager/wizards/consoleappwizard.h +++ b/src/plugins/qt4projectmanager/wizards/consoleappwizard.h @@ -49,8 +49,7 @@ public: protected: virtual QWizard *createWizardDialog(QWidget *parent, - const QString &defaultPath, - const WizardPageList &extensionPages) const; + const Core::WizardDialogParameters &wizardDialogParameters) const; virtual Core::GeneratedFiles generateFiles(const QWizard *w, QString *errorMessage) const; diff --git a/src/plugins/qt4projectmanager/wizards/consoleappwizarddialog.cpp b/src/plugins/qt4projectmanager/wizards/consoleappwizarddialog.cpp index 715581dbb2..1ed287c44d 100644 --- a/src/plugins/qt4projectmanager/wizards/consoleappwizarddialog.cpp +++ b/src/plugins/qt4projectmanager/wizards/consoleappwizarddialog.cpp @@ -41,10 +41,9 @@ namespace Internal { ConsoleAppWizardDialog::ConsoleAppWizardDialog(const QString &templateName, const QIcon &icon, - const QList<QWizardPage*> &extensionPages, bool showModulesPage, - QWidget *parent) : - BaseQt4ProjectWizardDialog(showModulesPage, parent) + QWidget *parent, const Core::WizardDialogParameters ¶meters) : + BaseQt4ProjectWizardDialog(showModulesPage, parent, parameters) { setWindowIcon(icon); setWindowTitle(templateName); @@ -58,7 +57,7 @@ ConsoleAppWizardDialog::ConsoleAppWizardDialog(const QString &templateName, addModulesPage(); addTargetSetupPage(); - foreach (QWizardPage *p, extensionPages) + foreach (QWizardPage *p, parameters.extensionPages()) Core::BaseFileWizard::applyExtensionPageShortTitle(this, addPage(p)); } diff --git a/src/plugins/qt4projectmanager/wizards/consoleappwizarddialog.h b/src/plugins/qt4projectmanager/wizards/consoleappwizarddialog.h index d7a4d4012f..e654c4d7db 100644 --- a/src/plugins/qt4projectmanager/wizards/consoleappwizarddialog.h +++ b/src/plugins/qt4projectmanager/wizards/consoleappwizarddialog.h @@ -46,9 +46,8 @@ class ConsoleAppWizardDialog : public BaseQt4ProjectWizardDialog public: explicit ConsoleAppWizardDialog(const QString &templateName, const QIcon &icon, - const QList<QWizardPage*> &extensionPages, - bool showModulesPage = false, - QWidget *parent = 0); + bool showModulesPage, + QWidget *parent, const Core::WizardDialogParameters ¶meters); QtProjectParameters parameters() const; }; diff --git a/src/plugins/qt4projectmanager/wizards/emptyprojectwizard.cpp b/src/plugins/qt4projectmanager/wizards/emptyprojectwizard.cpp index 963fdf992c..55211b53a2 100644 --- a/src/plugins/qt4projectmanager/wizards/emptyprojectwizard.cpp +++ b/src/plugins/qt4projectmanager/wizards/emptyprojectwizard.cpp @@ -58,12 +58,11 @@ Core::FeatureSet EmptyProjectWizard::requiredFeatures() const } QWizard *EmptyProjectWizard::createWizardDialog(QWidget *parent, - const QString &defaultPath, - const WizardPageList &extensionPages) const + const Core::WizardDialogParameters &wizardDialogParameters) const { - EmptyProjectWizardDialog *dialog = new EmptyProjectWizardDialog(displayName(), icon(), extensionPages, parent); - dialog->setPath(defaultPath); - dialog->setProjectName(EmptyProjectWizardDialog::uniqueProjectName(defaultPath)); + EmptyProjectWizardDialog *dialog = new EmptyProjectWizardDialog(displayName(), icon(), parent, wizardDialogParameters); + dialog->setPath(wizardDialogParameters.defaultPath()); + dialog->setProjectName(EmptyProjectWizardDialog::uniqueProjectName(wizardDialogParameters.defaultPath())); return dialog; } diff --git a/src/plugins/qt4projectmanager/wizards/emptyprojectwizard.h b/src/plugins/qt4projectmanager/wizards/emptyprojectwizard.h index 6a32339272..63e4f3151c 100644 --- a/src/plugins/qt4projectmanager/wizards/emptyprojectwizard.h +++ b/src/plugins/qt4projectmanager/wizards/emptyprojectwizard.h @@ -48,8 +48,7 @@ public: protected: virtual QWizard *createWizardDialog(QWidget *parent, - const QString &defaultPath, - const WizardPageList &extensionPages) const; + const Core::WizardDialogParameters &wizardDialogParameters) const; virtual Core::GeneratedFiles generateFiles(const QWizard *w, QString *errorMessage) const; diff --git a/src/plugins/qt4projectmanager/wizards/emptyprojectwizarddialog.cpp b/src/plugins/qt4projectmanager/wizards/emptyprojectwizarddialog.cpp index 5c359e54aa..69091a94be 100644 --- a/src/plugins/qt4projectmanager/wizards/emptyprojectwizarddialog.cpp +++ b/src/plugins/qt4projectmanager/wizards/emptyprojectwizarddialog.cpp @@ -38,9 +38,8 @@ namespace Internal { EmptyProjectWizardDialog::EmptyProjectWizardDialog(const QString &templateName, const QIcon &icon, - const QList<QWizardPage*> &extensionPages, - QWidget *parent) : - BaseQt4ProjectWizardDialog(parent) + QWidget *parent, const Core::WizardDialogParameters ¶meters) : + BaseQt4ProjectWizardDialog(false, parent, parameters) { setWindowIcon(icon); setWindowTitle(templateName); @@ -50,7 +49,7 @@ EmptyProjectWizardDialog::EmptyProjectWizardDialog(const QString &templateName, addTargetSetupPage(); - foreach (QWizardPage *p, extensionPages) + foreach (QWizardPage *p, parameters.extensionPages()) Core::BaseFileWizard::applyExtensionPageShortTitle(this, addPage(p)); } diff --git a/src/plugins/qt4projectmanager/wizards/emptyprojectwizarddialog.h b/src/plugins/qt4projectmanager/wizards/emptyprojectwizarddialog.h index 6d6197268b..1bd84cb01e 100644 --- a/src/plugins/qt4projectmanager/wizards/emptyprojectwizarddialog.h +++ b/src/plugins/qt4projectmanager/wizards/emptyprojectwizarddialog.h @@ -46,8 +46,8 @@ class EmptyProjectWizardDialog : public BaseQt4ProjectWizardDialog public: explicit EmptyProjectWizardDialog(const QString &templateName, const QIcon &icon, - const QList<QWizardPage*> &extensionPages, - QWidget *parent = 0); + QWidget *parent, + const Core::WizardDialogParameters ¶meters); QtProjectParameters parameters() const; }; diff --git a/src/plugins/qt4projectmanager/wizards/guiappwizard.cpp b/src/plugins/qt4projectmanager/wizards/guiappwizard.cpp index 26a47595a5..b1cf150023 100644 --- a/src/plugins/qt4projectmanager/wizards/guiappwizard.cpp +++ b/src/plugins/qt4projectmanager/wizards/guiappwizard.cpp @@ -114,15 +114,14 @@ GuiAppWizard::GuiAppWizard(const QString &id, } QWizard *GuiAppWizard::createWizardDialog(QWidget *parent, - const QString &defaultPath, - const WizardPageList &extensionPages) const + const Core::WizardDialogParameters &wizardDialogParameters) const { - GuiAppWizardDialog *dialog = new GuiAppWizardDialog(displayName(), icon(), extensionPages, + GuiAppWizardDialog *dialog = new GuiAppWizardDialog(displayName(), icon(), showModulesPageForApplications(), m_createMobileProject, - parent); - dialog->setPath(defaultPath); - dialog->setProjectName(GuiAppWizardDialog::uniqueProjectName(defaultPath)); + parent, wizardDialogParameters); + dialog->setPath(wizardDialogParameters.defaultPath()); + dialog->setProjectName(GuiAppWizardDialog::uniqueProjectName(wizardDialogParameters.defaultPath())); // Order! suffixes first to generate files correctly dialog->setLowerCaseFiles(QtWizard::lowerCaseFiles()); dialog->setSuffixes(headerSuffix(), sourceSuffix(), formSuffix()); diff --git a/src/plugins/qt4projectmanager/wizards/guiappwizard.h b/src/plugins/qt4projectmanager/wizards/guiappwizard.h index fa250b1d73..21aeae46f5 100644 --- a/src/plugins/qt4projectmanager/wizards/guiappwizard.h +++ b/src/plugins/qt4projectmanager/wizards/guiappwizard.h @@ -57,8 +57,7 @@ protected: const QIcon &icon, bool createMobile); virtual QWizard *createWizardDialog(QWidget *parent, - const QString &defaultPath, - const WizardPageList &extensionPages) const; + const Core::WizardDialogParameters &wizardDialogParameters) const; virtual Core::GeneratedFiles generateFiles(const QWizard *w, QString *errorMessage) const; diff --git a/src/plugins/qt4projectmanager/wizards/guiappwizarddialog.cpp b/src/plugins/qt4projectmanager/wizards/guiappwizarddialog.cpp index 8963d191ae..ab065de3af 100644 --- a/src/plugins/qt4projectmanager/wizards/guiappwizarddialog.cpp +++ b/src/plugins/qt4projectmanager/wizards/guiappwizarddialog.cpp @@ -50,11 +50,11 @@ GuiAppParameters::GuiAppParameters() GuiAppWizardDialog::GuiAppWizardDialog(const QString &templateName, const QIcon &icon, - const QList<QWizardPage*> &extensionPages, bool showModulesPage, bool isMobile, - QWidget *parent) : - BaseQt4ProjectWizardDialog(showModulesPage, parent), + QWidget *parent, + const Core::WizardDialogParameters ¶meters) : + BaseQt4ProjectWizardDialog(showModulesPage, parent, parameters), m_filesPage(new FilesPage) { setWindowIcon(icon); @@ -73,7 +73,7 @@ GuiAppWizardDialog::GuiAppWizardDialog(const QString &templateName, const int filesPageId = addPage(m_filesPage); wizardProgress()->item(filesPageId)->setTitle(tr("Details")); - foreach (QWizardPage *p, extensionPages) + foreach (QWizardPage *p, parameters.extensionPages()) Core::BaseFileWizard::applyExtensionPageShortTitle(this, addPage(p)); } diff --git a/src/plugins/qt4projectmanager/wizards/guiappwizarddialog.h b/src/plugins/qt4projectmanager/wizards/guiappwizarddialog.h index da3cf0fe2e..56965b8764 100644 --- a/src/plugins/qt4projectmanager/wizards/guiappwizarddialog.h +++ b/src/plugins/qt4projectmanager/wizards/guiappwizarddialog.h @@ -63,10 +63,10 @@ class GuiAppWizardDialog : public BaseQt4ProjectWizardDialog public: explicit GuiAppWizardDialog(const QString &templateName, const QIcon &icon, - const QList<QWizardPage*> &extensionPages, - bool showModulesPage = false, - bool mobile = false, - QWidget *parent = 0); + bool showModulesPage, + bool mobile, + QWidget *parent, + const Core::WizardDialogParameters ¶meters); void setBaseClasses(const QStringList &baseClasses); void setSuffixes(const QString &header, const QString &source, const QString &form); diff --git a/src/plugins/qt4projectmanager/wizards/html5appwizard.cpp b/src/plugins/qt4projectmanager/wizards/html5appwizard.cpp index ae365246c8..aa799c7328 100644 --- a/src/plugins/qt4projectmanager/wizards/html5appwizard.cpp +++ b/src/plugins/qt4projectmanager/wizards/html5appwizard.cpp @@ -53,16 +53,18 @@ class Html5AppWizardDialog : public AbstractMobileAppWizardDialog Q_OBJECT public: - explicit Html5AppWizardDialog(QWidget *parent = 0); + explicit Html5AppWizardDialog(QWidget *parent, const Core::WizardDialogParameters ¶meters); private: class Html5AppWizardOptionsPage *m_htmlOptionsPage; friend class Html5AppWizard; }; -Html5AppWizardDialog::Html5AppWizardDialog(QWidget *parent) - : AbstractMobileAppWizardDialog(parent, QtSupport::QtVersionNumber(), QtSupport::QtVersionNumber(4, INT_MAX, INT_MAX)) - , m_htmlOptionsPage(0) +Html5AppWizardDialog::Html5AppWizardDialog(QWidget *parent, + const Core::WizardDialogParameters ¶meters) + : AbstractMobileAppWizardDialog(parent, QtSupport::QtVersionNumber(), + QtSupport::QtVersionNumber(4, INT_MAX, INT_MAX), parameters), + m_htmlOptionsPage(0) { setWindowTitle(tr("New HTML5 Application")); setIntroDescription(tr("This wizard generates a HTML5 application project.")); @@ -116,9 +118,10 @@ Core::BaseFileWizardParameters Html5AppWizard::parameters() return parameters; } -AbstractMobileAppWizardDialog *Html5AppWizard::createWizardDialogInternal(QWidget *parent) const +AbstractMobileAppWizardDialog *Html5AppWizard::createWizardDialogInternal(QWidget *parent, + const Core::WizardDialogParameters ¶meters) const { - d->wizardDialog = new Html5AppWizardDialog(parent); + d->wizardDialog = new Html5AppWizardDialog(parent, parameters); d->wizardDialog->m_htmlOptionsPage->setTouchOptimizationEndabled( d->app->touchOptimizedNavigationEnabled()); return d->wizardDialog; diff --git a/src/plugins/qt4projectmanager/wizards/html5appwizard.h b/src/plugins/qt4projectmanager/wizards/html5appwizard.h index 5d90c60800..7e1ed8a356 100644 --- a/src/plugins/qt4projectmanager/wizards/html5appwizard.h +++ b/src/plugins/qt4projectmanager/wizards/html5appwizard.h @@ -55,7 +55,8 @@ private: virtual AbstractMobileApp *app() const; virtual AbstractMobileAppWizardDialog *wizardDialog() const; - virtual AbstractMobileAppWizardDialog *createWizardDialogInternal(QWidget *parent) const; + virtual AbstractMobileAppWizardDialog *createWizardDialogInternal(QWidget *parent, + const Core::WizardDialogParameters ¶meters) const; virtual void projectPathChanged(const QString &path) const; virtual void prepareGenerateFiles(const QWizard *wizard, QString *errorMessage) const; diff --git a/src/plugins/qt4projectmanager/wizards/librarywizard.cpp b/src/plugins/qt4projectmanager/wizards/librarywizard.cpp index 3421f0e279..26e89042d8 100644 --- a/src/plugins/qt4projectmanager/wizards/librarywizard.cpp +++ b/src/plugins/qt4projectmanager/wizards/librarywizard.cpp @@ -63,15 +63,16 @@ LibraryWizard::LibraryWizard() { } -QWizard *LibraryWizard::createWizardDialog(QWidget *parent, - const QString &defaultPath, - const WizardPageList &extensionPages) const +QWizard *LibraryWizard::createWizardDialog(QWidget *parent, const Core::WizardDialogParameters &wizardDialogParameters) const { - LibraryWizardDialog *dialog = new LibraryWizardDialog(displayName(), icon(), extensionPages, - showModulesPageForLibraries(), parent); + LibraryWizardDialog *dialog = new LibraryWizardDialog(displayName(), + icon(), + showModulesPageForLibraries(), + parent, + wizardDialogParameters); dialog->setLowerCaseFiles(QtWizard::lowerCaseFiles()); - dialog->setPath(defaultPath); - dialog->setProjectName(LibraryWizardDialog::uniqueProjectName(defaultPath)); + dialog->setPath(wizardDialogParameters.defaultPath()); + dialog->setProjectName(LibraryWizardDialog::uniqueProjectName(wizardDialogParameters.defaultPath())); dialog->setSuffixes(headerSuffix(), sourceSuffix(), formSuffix()); return dialog; } diff --git a/src/plugins/qt4projectmanager/wizards/librarywizard.h b/src/plugins/qt4projectmanager/wizards/librarywizard.h index 6c26e9d3ed..08c4f60719 100644 --- a/src/plugins/qt4projectmanager/wizards/librarywizard.h +++ b/src/plugins/qt4projectmanager/wizards/librarywizard.h @@ -51,8 +51,7 @@ public: protected: virtual QWizard *createWizardDialog(QWidget *parent, - const QString &defaultPath, - const WizardPageList &extensionPages) const; + const Core::WizardDialogParameters &wizardDialogParameters) const; virtual Core::GeneratedFiles generateFiles(const QWizard *w, QString *errorMessage) const; diff --git a/src/plugins/qt4projectmanager/wizards/librarywizarddialog.cpp b/src/plugins/qt4projectmanager/wizards/librarywizarddialog.cpp index d239e225e3..96e892aa25 100644 --- a/src/plugins/qt4projectmanager/wizards/librarywizarddialog.cpp +++ b/src/plugins/qt4projectmanager/wizards/librarywizarddialog.cpp @@ -136,10 +136,10 @@ QtProjectParameters::Type LibraryIntroPage::type() const // ------------------- LibraryWizardDialog LibraryWizardDialog::LibraryWizardDialog(const QString &templateName, const QIcon &icon, - const QList<QWizardPage*> &extensionPages, bool showModulesPage, - QWidget *parent) : - BaseQt4ProjectWizardDialog(showModulesPage, new LibraryIntroPage, -1, parent), + QWidget *parent, + const Core::WizardDialogParameters ¶meters) : + BaseQt4ProjectWizardDialog(showModulesPage, new LibraryIntroPage, -1, parent, parameters), m_filesPage(new FilesPage), m_mobilePage(new MobileLibraryWizardOptionPage), m_pluginBaseClassesInitialized(false), @@ -193,7 +193,7 @@ LibraryWizardDialog::LibraryWizardDialog(const QString &templateName, connect(this, SIGNAL(currentIdChanged(int)), this, SLOT(slotCurrentIdChanged(int))); - foreach (QWizardPage *p, extensionPages) + foreach (QWizardPage *p, parameters.extensionPages()) Core::BaseFileWizard::applyExtensionPageShortTitle(this, addPage(p)); } diff --git a/src/plugins/qt4projectmanager/wizards/librarywizarddialog.h b/src/plugins/qt4projectmanager/wizards/librarywizarddialog.h index 0f473fab7e..cc2d9984b1 100644 --- a/src/plugins/qt4projectmanager/wizards/librarywizarddialog.h +++ b/src/plugins/qt4projectmanager/wizards/librarywizarddialog.h @@ -53,9 +53,9 @@ class LibraryWizardDialog : public BaseQt4ProjectWizardDialog public: LibraryWizardDialog(const QString &templateName, const QIcon &icon, - const QList<QWizardPage*> &extensionPages, bool showModulesPage, - QWidget *parent = 0); + QWidget *parent, + const Core::WizardDialogParameters ¶meters); void setSuffixes(const QString &header, const QString &source, const QString &form= QString()); void setLowerCaseFiles(bool); diff --git a/src/plugins/qt4projectmanager/wizards/mobileappwizard.cpp b/src/plugins/qt4projectmanager/wizards/mobileappwizard.cpp index 61a88cba80..b770519cac 100644 --- a/src/plugins/qt4projectmanager/wizards/mobileappwizard.cpp +++ b/src/plugins/qt4projectmanager/wizards/mobileappwizard.cpp @@ -61,8 +61,10 @@ class MobileAppWizardDialog : public AbstractMobileAppWizardDialog { Q_OBJECT public: - explicit MobileAppWizardDialog(QWidget *parent = 0) - : AbstractMobileAppWizardDialog(parent, QtSupport::QtVersionNumber(), QtSupport::QtVersionNumber(4, INT_MAX, INT_MAX)) + explicit MobileAppWizardDialog(QWidget *parent, const Core::WizardDialogParameters ¶meters) + : AbstractMobileAppWizardDialog(parent, + QtSupport::QtVersionNumber(), + QtSupport::QtVersionNumber(4, INT_MAX, INT_MAX), parameters) { setWindowTitle(DisplayName); setIntroDescription(Description); @@ -109,9 +111,10 @@ Core::BaseFileWizardParameters MobileAppWizard::parameters() return parameters; } -AbstractMobileAppWizardDialog *MobileAppWizard::createWizardDialogInternal(QWidget *parent) const +AbstractMobileAppWizardDialog *MobileAppWizard::createWizardDialogInternal(QWidget *parent, + const Core::WizardDialogParameters ¶meters) const { - d->wizardDialog = new MobileAppWizardDialog(parent); + d->wizardDialog = new MobileAppWizardDialog(parent, parameters); return d->wizardDialog; } diff --git a/src/plugins/qt4projectmanager/wizards/mobileappwizard.h b/src/plugins/qt4projectmanager/wizards/mobileappwizard.h index 58043e1fdc..ee605cc213 100644 --- a/src/plugins/qt4projectmanager/wizards/mobileappwizard.h +++ b/src/plugins/qt4projectmanager/wizards/mobileappwizard.h @@ -55,7 +55,8 @@ private: virtual AbstractMobileApp *app() const; virtual AbstractMobileAppWizardDialog *wizardDialog() const; - virtual AbstractMobileAppWizardDialog *createWizardDialogInternal(QWidget *parent) const; + virtual AbstractMobileAppWizardDialog *createWizardDialogInternal(QWidget *parent, + const Core::WizardDialogParameters &wizardDialogParameters) const; virtual void projectPathChanged(const QString &path) const; virtual void prepareGenerateFiles(const QWizard *wizard, QString *errorMessage) const; diff --git a/src/plugins/qt4projectmanager/wizards/qtquickappwizard.cpp b/src/plugins/qt4projectmanager/wizards/qtquickappwizard.cpp index bab3fd3c6e..fff80868a7 100644 --- a/src/plugins/qt4projectmanager/wizards/qtquickappwizard.cpp +++ b/src/plugins/qt4projectmanager/wizards/qtquickappwizard.cpp @@ -52,7 +52,7 @@ class QtQuickAppWizardDialog : public AbstractMobileAppWizardDialog Q_OBJECT public: - explicit QtQuickAppWizardDialog(QWidget *parent = 0); + explicit QtQuickAppWizardDialog(QWidget *parent, const Core::WizardDialogParameters ¶meters); protected: bool validateCurrentPage(); @@ -66,8 +66,11 @@ private: friend class QtQuickAppWizard; }; -QtQuickAppWizardDialog::QtQuickAppWizardDialog(QWidget *parent) - : AbstractMobileAppWizardDialog(parent, QtSupport::QtVersionNumber(4, 7, 0), QtSupport::QtVersionNumber(4, INT_MAX, INT_MAX)) +QtQuickAppWizardDialog::QtQuickAppWizardDialog(QWidget *parent, + const Core::WizardDialogParameters ¶meters) + : AbstractMobileAppWizardDialog(parent, + QtSupport::QtVersionNumber(4, 7, 0), + QtSupport::QtVersionNumber(4, INT_MAX, INT_MAX), parameters) { setWindowTitle(tr("New Qt Quick Application")); setIntroDescription(tr("This wizard generates a Qt Quick application project.")); @@ -147,9 +150,10 @@ Core::BaseFileWizardParameters QtQuickAppWizard::parameters() return parameters; } -AbstractMobileAppWizardDialog *QtQuickAppWizard::createWizardDialogInternal(QWidget *parent) const +AbstractMobileAppWizardDialog *QtQuickAppWizard::createWizardDialogInternal(QWidget *parent, + const Core::WizardDialogParameters ¶meters) const { - d->wizardDialog = new QtQuickAppWizardDialog(parent); + d->wizardDialog = new QtQuickAppWizardDialog(parent, parameters); d->wizardDialog->m_componentOptionsPage->setComponentSet(d->app->componentSet()); return d->wizardDialog; } diff --git a/src/plugins/qt4projectmanager/wizards/qtquickappwizard.h b/src/plugins/qt4projectmanager/wizards/qtquickappwizard.h index 1b9a4cdde6..8cb2469ebd 100644 --- a/src/plugins/qt4projectmanager/wizards/qtquickappwizard.h +++ b/src/plugins/qt4projectmanager/wizards/qtquickappwizard.h @@ -55,7 +55,8 @@ private: virtual AbstractMobileApp *app() const; virtual AbstractMobileAppWizardDialog *wizardDialog() const; - virtual AbstractMobileAppWizardDialog *createWizardDialogInternal(QWidget *parent) const; + virtual AbstractMobileAppWizardDialog *createWizardDialogInternal(QWidget *parent, + const Core::WizardDialogParameters ¶meters) const; virtual void projectPathChanged(const QString &path) const; virtual void prepareGenerateFiles(const QWizard *wizard, QString *errorMessage) const; diff --git a/src/plugins/qt4projectmanager/wizards/qtwizard.cpp b/src/plugins/qt4projectmanager/wizards/qtwizard.cpp index 01e33f6fbc..ecdfd4cdb0 100644 --- a/src/plugins/qt4projectmanager/wizards/qtwizard.cpp +++ b/src/plugins/qt4projectmanager/wizards/qtwizard.cpp @@ -164,12 +164,12 @@ CustomQt4ProjectWizard::CustomQt4ProjectWizard(const Core::BaseFileWizardParamet { } -QWizard *CustomQt4ProjectWizard::createWizardDialog(QWidget *parent, - const QString &defaultPath, - const WizardPageList &extensionPages) const + QWizard *CustomQt4ProjectWizard::createWizardDialog(QWidget *parent, + const Core::WizardDialogParameters &wizardDialogParameters) const { - BaseQt4ProjectWizardDialog *wizard = new BaseQt4ProjectWizardDialog(false, parent); - initProjectWizardDialog(wizard, defaultPath, extensionPages); + BaseQt4ProjectWizardDialog *wizard = new BaseQt4ProjectWizardDialog(false, parent, wizardDialogParameters); + + initProjectWizardDialog(wizard, wizardDialogParameters.defaultPath(), wizardDialogParameters.extensionPages()); if (wizard->pageIds().contains(targetPageId)) qWarning("CustomQt4ProjectWizard: Unable to insert target page at %d", int(targetPageId)); wizard->addTargetSetupPage(QSet<QString>(), false, targetPageId); @@ -187,8 +187,9 @@ void CustomQt4ProjectWizard::registerSelf() } // ----------------- BaseQt4ProjectWizardDialog -BaseQt4ProjectWizardDialog::BaseQt4ProjectWizardDialog(bool showModulesPage, QWidget *parent) : - ProjectExplorer::BaseProjectWizardDialog(parent), +BaseQt4ProjectWizardDialog::BaseQt4ProjectWizardDialog(bool showModulesPage, QWidget *parent, + const Core::WizardDialogParameters ¶meters) : + ProjectExplorer::BaseProjectWizardDialog(parent, parameters), m_modulesPage(0), m_targetSetupPage(0) { @@ -197,8 +198,9 @@ BaseQt4ProjectWizardDialog::BaseQt4ProjectWizardDialog(bool showModulesPage, QWi BaseQt4ProjectWizardDialog::BaseQt4ProjectWizardDialog(bool showModulesPage, Utils::ProjectIntroPage *introPage, - int introId, QWidget *parent) : - ProjectExplorer::BaseProjectWizardDialog(introPage, introId, parent), + int introId, QWidget *parent, + const Core::WizardDialogParameters ¶meters) : + ProjectExplorer::BaseProjectWizardDialog(introPage, introId, parent, parameters), m_modulesPage(0), m_targetSetupPage(0) { diff --git a/src/plugins/qt4projectmanager/wizards/qtwizard.h b/src/plugins/qt4projectmanager/wizards/qtwizard.h index 1a2c4e40c3..edc7f9b7b7 100644 --- a/src/plugins/qt4projectmanager/wizards/qtwizard.h +++ b/src/plugins/qt4projectmanager/wizards/qtwizard.h @@ -100,8 +100,7 @@ public: QObject *parent = 0); virtual QWizard *createWizardDialog(QWidget *parent, - const QString &defaultPath, - const WizardPageList &extensionPages) const; + const Core::WizardDialogParameters &wizardDialogParameters) const; static void registerSelf(); protected: @@ -122,10 +121,12 @@ class BaseQt4ProjectWizardDialog : public ProjectExplorer::BaseProjectWizardDial protected: explicit BaseQt4ProjectWizardDialog(bool showModulesPage, Utils::ProjectIntroPage *introPage, - int introId = -1, - QWidget *parent = 0); + int introId, + QWidget *parent, + const Core::WizardDialogParameters ¶meters); public: - explicit BaseQt4ProjectWizardDialog(bool showModulesPage, QWidget *parent = 0); + explicit BaseQt4ProjectWizardDialog(bool showModulesPage, QWidget *parent, + const Core::WizardDialogParameters ¶meters); virtual ~BaseQt4ProjectWizardDialog(); int addModulesPage(int id = -1); diff --git a/src/plugins/qt4projectmanager/wizards/subdirsprojectwizard.cpp b/src/plugins/qt4projectmanager/wizards/subdirsprojectwizard.cpp index cacc9feb83..c84ae4a566 100644 --- a/src/plugins/qt4projectmanager/wizards/subdirsprojectwizard.cpp +++ b/src/plugins/qt4projectmanager/wizards/subdirsprojectwizard.cpp @@ -54,12 +54,11 @@ SubdirsProjectWizard::SubdirsProjectWizard() } QWizard *SubdirsProjectWizard::createWizardDialog(QWidget *parent, - const QString &defaultPath, - const WizardPageList &extensionPages) const + const Core::WizardDialogParameters &wizardDialogParameters) const { - SubdirsProjectWizardDialog *dialog = new SubdirsProjectWizardDialog(displayName(), icon(), extensionPages, parent); - dialog->setPath(defaultPath); - dialog->setProjectName(SubdirsProjectWizardDialog::uniqueProjectName(defaultPath)); + SubdirsProjectWizardDialog *dialog = new SubdirsProjectWizardDialog(displayName(), icon(), parent, wizardDialogParameters); + dialog->setPath(wizardDialogParameters.defaultPath()); + dialog->setProjectName(SubdirsProjectWizardDialog::uniqueProjectName(wizardDialogParameters.defaultPath())); const QString buttonText = dialog->wizardStyle() == QWizard::MacStyle ? tr("Done && Add Subproject") : tr("Finish && Add Subproject"); dialog->setButtonText(QWizard::FinishButton, buttonText); diff --git a/src/plugins/qt4projectmanager/wizards/subdirsprojectwizard.h b/src/plugins/qt4projectmanager/wizards/subdirsprojectwizard.h index 5d5afd0389..39383fdfb5 100644 --- a/src/plugins/qt4projectmanager/wizards/subdirsprojectwizard.h +++ b/src/plugins/qt4projectmanager/wizards/subdirsprojectwizard.h @@ -47,8 +47,7 @@ public: protected: virtual QWizard *createWizardDialog(QWidget *parent, - const QString &defaultPath, - const WizardPageList &extensionPages) const; + const Core::WizardDialogParameters &wizardDialogParameters) const; virtual Core::GeneratedFiles generateFiles(const QWizard *w, QString *errorMessage) const; diff --git a/src/plugins/qt4projectmanager/wizards/subdirsprojectwizarddialog.cpp b/src/plugins/qt4projectmanager/wizards/subdirsprojectwizarddialog.cpp index be464825dd..66e0e5b169 100644 --- a/src/plugins/qt4projectmanager/wizards/subdirsprojectwizarddialog.cpp +++ b/src/plugins/qt4projectmanager/wizards/subdirsprojectwizarddialog.cpp @@ -38,9 +38,9 @@ namespace Internal { SubdirsProjectWizardDialog::SubdirsProjectWizardDialog(const QString &templateName, const QIcon &icon, - const QList<QWizardPage*> &extensionPages, - QWidget *parent) : - BaseQt4ProjectWizardDialog(parent) + QWidget *parent, + const Core::WizardDialogParameters ¶meters) : + BaseQt4ProjectWizardDialog(false, parent, parameters) { setWindowIcon(icon); setWindowTitle(templateName); @@ -50,7 +50,7 @@ SubdirsProjectWizardDialog::SubdirsProjectWizardDialog(const QString &templateNa addTargetSetupPage(); - foreach (QWizardPage *p, extensionPages) + foreach (QWizardPage *p, parameters.extensionPages()) Core::BaseFileWizard::applyExtensionPageShortTitle(this, addPage(p)); } diff --git a/src/plugins/qt4projectmanager/wizards/subdirsprojectwizarddialog.h b/src/plugins/qt4projectmanager/wizards/subdirsprojectwizarddialog.h index ddbfe109ce..78a5d589ec 100644 --- a/src/plugins/qt4projectmanager/wizards/subdirsprojectwizarddialog.h +++ b/src/plugins/qt4projectmanager/wizards/subdirsprojectwizarddialog.h @@ -46,8 +46,8 @@ class SubdirsProjectWizardDialog : public BaseQt4ProjectWizardDialog public: explicit SubdirsProjectWizardDialog(const QString &templateName, const QIcon &icon, - const QList<QWizardPage*> &extensionPages, - QWidget *parent = 0); + QWidget *parent, + const Core::WizardDialogParameters ¶meters); QtProjectParameters parameters() const; }; diff --git a/src/plugins/qt4projectmanager/wizards/testwizard.cpp b/src/plugins/qt4projectmanager/wizards/testwizard.cpp index 0940297341..a2ca0a1b55 100644 --- a/src/plugins/qt4projectmanager/wizards/testwizard.cpp +++ b/src/plugins/qt4projectmanager/wizards/testwizard.cpp @@ -60,12 +60,11 @@ TestWizard::TestWizard() : } QWizard *TestWizard::createWizardDialog(QWidget *parent, - const QString &defaultPath, - const WizardPageList &extensionPages) const + const Core::WizardDialogParameters &wizardDialogParameters) const { - TestWizardDialog *dialog = new TestWizardDialog(displayName(), icon(), extensionPages, parent); - dialog->setPath(defaultPath); - dialog->setProjectName(TestWizardDialog::uniqueProjectName(defaultPath)); + TestWizardDialog *dialog = new TestWizardDialog(displayName(), icon(), parent, wizardDialogParameters); + dialog->setPath(wizardDialogParameters.defaultPath()); + dialog->setProjectName(TestWizardDialog::uniqueProjectName(wizardDialogParameters.defaultPath())); return dialog; } diff --git a/src/plugins/qt4projectmanager/wizards/testwizard.h b/src/plugins/qt4projectmanager/wizards/testwizard.h index 72c0f02705..d014234fad 100644 --- a/src/plugins/qt4projectmanager/wizards/testwizard.h +++ b/src/plugins/qt4projectmanager/wizards/testwizard.h @@ -48,8 +48,7 @@ public: protected: virtual QWizard *createWizardDialog(QWidget *parent, - const QString &defaultPath, - const WizardPageList &extensionPages) const; + const Core::WizardDialogParameters &wizardDialogParameters) const; virtual Core::GeneratedFiles generateFiles(const QWizard *w, QString *errorMessage) const; diff --git a/src/plugins/qt4projectmanager/wizards/testwizarddialog.cpp b/src/plugins/qt4projectmanager/wizards/testwizarddialog.cpp index 305f4361c7..b3e7d76cdc 100644 --- a/src/plugins/qt4projectmanager/wizards/testwizarddialog.cpp +++ b/src/plugins/qt4projectmanager/wizards/testwizarddialog.cpp @@ -52,9 +52,9 @@ TestWizardParameters::TestWizardParameters() : TestWizardDialog::TestWizardDialog(const QString &templateName, const QIcon &icon, - const QList<QWizardPage*> &extensionPages, - QWidget *parent) : - BaseQt4ProjectWizardDialog(true, parent), + QWidget *parent, + const Core::WizardDialogParameters ¶meters) : + BaseQt4ProjectWizardDialog(true, parent, parameters), m_testPage(new TestWizardPage), m_testPageId(-1), m_modulesPageId(-1) { @@ -67,7 +67,7 @@ TestWizardDialog::TestWizardDialog(const QString &templateName, m_modulesPageId = addModulesPage(); m_testPageId = addPage(m_testPage); wizardProgress()->item(m_testPageId)->setTitle(tr("Details")); - foreach (QWizardPage *p, extensionPages) + foreach (QWizardPage *p, parameters.extensionPages()) Core::BaseFileWizard::applyExtensionPageShortTitle(this, addPage(p)); connect(this, SIGNAL(currentIdChanged(int)), this, SLOT(slotCurrentIdChanged(int))); } diff --git a/src/plugins/qt4projectmanager/wizards/testwizarddialog.h b/src/plugins/qt4projectmanager/wizards/testwizarddialog.h index 316e5759b5..2b88d1af9c 100644 --- a/src/plugins/qt4projectmanager/wizards/testwizarddialog.h +++ b/src/plugins/qt4projectmanager/wizards/testwizarddialog.h @@ -67,8 +67,8 @@ class TestWizardDialog : public BaseQt4ProjectWizardDialog public: explicit TestWizardDialog(const QString &templateName, const QIcon &icon, - const QList<QWizardPage*> &extensionPages, - QWidget *parent = 0); + QWidget *parent, + const Core::WizardDialogParameters ¶meters); TestWizardParameters testParameters() const; QtProjectParameters projectParameters() const; |