diff options
author | jkobus <jaroslaw.kobus@digia.com> | 2013-11-05 13:45:39 +0100 |
---|---|---|
committer | Jarek Kobus <jaroslaw.kobus@digia.com> | 2013-11-06 10:23:49 +0100 |
commit | 62590507b137009508ff7ed08d728a293fcb29d8 (patch) | |
tree | 506b1902ae6e03dadaf51d91dfe457d5664e1f0d /src/plugins/qmlprojectmanager/qmlapplicationwizard.cpp | |
parent | 6313b2ca4bd5eb3a00d54512f9fe5bc5b566db56 (diff) | |
download | qt-creator-62590507b137009508ff7ed08d728a293fcb29d8.tar.gz |
Merge multi Qt Quick UI wizards into one
Change-Id: Ia984c36864dacd5b71c76976a351767bb4c3693c
Reviewed-by: Kai Koehne <kai.koehne@digia.com>
Diffstat (limited to 'src/plugins/qmlprojectmanager/qmlapplicationwizard.cpp')
-rw-r--r-- | src/plugins/qmlprojectmanager/qmlapplicationwizard.cpp | 61 |
1 files changed, 17 insertions, 44 deletions
diff --git a/src/plugins/qmlprojectmanager/qmlapplicationwizard.cpp b/src/plugins/qmlprojectmanager/qmlapplicationwizard.cpp index 6ae705ddb8..3b99c6ef57 100644 --- a/src/plugins/qmlprojectmanager/qmlapplicationwizard.cpp +++ b/src/plugins/qmlprojectmanager/qmlapplicationwizard.cpp @@ -41,6 +41,7 @@ #include "qmlprojectmanager.h" #include "qmlproject.h" +#include "qmlapplicationwizardpages.h" #include <QIcon> @@ -52,20 +53,23 @@ using namespace QmakeProjectManager; namespace QmlProjectManager { namespace Internal { -QmlApplicationWizardDialog::QmlApplicationWizardDialog(QmlApp *qmlApp, QWidget *parent, const WizardDialogParameters ¶meters) - : BaseProjectWizardDialog(parent, parameters), - m_qmlApp(qmlApp) +QmlApplicationWizardDialog::QmlApplicationWizardDialog(QWidget *parent, const WizardDialogParameters ¶meters) + : BaseProjectWizardDialog(parent, parameters) { setWindowTitle(tr("New Qt Quick UI Project")); setIntroDescription(tr("This wizard generates a Qt Quick UI project.")); + m_componentSetPage = new QmlComponentSetPage; + const int pageId = addPage(m_componentSetPage); + wizardProgress()->item(pageId)->setTitle(tr("Component Set")); } -QmlApp *QmlApplicationWizardDialog::qmlApp() const +TemplateInfo QmlApplicationWizardDialog::templateInfo() const { - return m_qmlApp; + return m_componentSetPage->templateInfo(); } -QmlApplicationWizard::QmlApplicationWizard(const TemplateInfo &templateInfo) + +QmlApplicationWizard::QmlApplicationWizard() : m_qmlApp(new QmlApp(this)) { setWizardKind(ProjectWizard); @@ -74,47 +78,14 @@ QmlApplicationWizard::QmlApplicationWizard(const TemplateInfo &templateInfo) setIcon(QIcon(QLatin1String(QmakeProjectManager::Constants::ICON_QTQUICK_APP))); setDisplayCategory( QLatin1String(ProjectExplorer::Constants::QT_APPLICATION_WIZARD_CATEGORY_DISPLAY)); - setDisplayName(tr("Qt Quick Application")); - setDescription(tr("Creates a Qt Quick application project.")); - - m_qmlApp->setTemplateInfo(templateInfo); -} - -void QmlApplicationWizard::createInstances(ExtensionSystem::IPlugin *plugin) -{ - foreach (const TemplateInfo &templateInfo, QmlApp::templateInfos()) { - QmlApplicationWizard *wizard = new QmlApplicationWizard(templateInfo); - wizard->setDisplayName(templateInfo.displayName); - wizard->setDescription(templateInfo.description); - const QString imagePath = templateInfo.templatePath + QLatin1String("/template.png"); - if (QFileInfo(imagePath).exists()) - wizard->setDescriptionImage(imagePath); - wizard->setCategory( - QLatin1String(ProjectExplorer::Constants::QT_APPLICATION_WIZARD_CATEGORY)); - wizard->setDisplayCategory( - QLatin1String(ProjectExplorer::Constants::QT_APPLICATION_WIZARD_CATEGORY_DISPLAY)); - wizard->setWizardKind(IWizard::ProjectWizard); - wizard->setId(templateInfo.wizardId); - - QStringList stringList = - templateInfo.featuresRequired.split(QLatin1Char(','), QString::SkipEmptyParts); - FeatureSet features; - foreach (const QString &string, stringList) { - Feature feature(Id::fromString(string.trimmed())); - features |= feature; - } - - wizard->setRequiredFeatures(features); - wizard->setIcon(QIcon(QLatin1String(QmakeProjectManager::Constants::ICON_QTQUICK_APP))); - plugin->addAutoReleasedObject(wizard); - } + setDisplayName(tr("Qt Quick UI")); + setDescription(tr("Creates a Qt Quick UI project.")); } QWizard *QmlApplicationWizard::createWizardDialog(QWidget *parent, const WizardDialogParameters &wizardDialogParameters) const { - QmlApplicationWizardDialog *wizardDialog = new QmlApplicationWizardDialog(m_qmlApp, - parent, wizardDialogParameters); + QmlApplicationWizardDialog *wizardDialog = new QmlApplicationWizardDialog(parent, wizardDialogParameters); connect(wizardDialog, SIGNAL(projectParametersChanged(QString,QString)), m_qmlApp, SLOT(setProjectNameAndBaseDirectory(QString,QString))); @@ -129,9 +100,11 @@ QWizard *QmlApplicationWizard::createWizardDialog(QWidget *parent, return wizardDialog; } -GeneratedFiles QmlApplicationWizard::generateFiles(const QWizard * /*wizard*/, - QString *errorMessage) const +GeneratedFiles QmlApplicationWizard::generateFiles(const QWizard *w, + QString *errorMessage) const { + const QmlApplicationWizardDialog *wizard = qobject_cast<const QmlApplicationWizardDialog*>(w); + m_qmlApp->setTemplateInfo(wizard->templateInfo()); return m_qmlApp->generateFiles(errorMessage); } |