diff --git a/src/plugins/qt4projectmanager/wizards/qtwizard.cpp b/src/plugins/qt4projectmanager/wizards/qtwizard.cpp index 1ce7ff9a130..48a0efd6280 100644 --- a/src/plugins/qt4projectmanager/wizards/qtwizard.cpp +++ b/src/plugins/qt4projectmanager/wizards/qtwizard.cpp @@ -212,6 +212,8 @@ void BaseQt4ProjectWizardDialog::init(bool showModulesPage) { if (showModulesPage) m_modulesPage = new ModulesPage; + connect(this, SIGNAL(introPageLeft(QString,QString)), + this, SLOT(propagateProjectName(QString,QString))); } int BaseQt4ProjectWizardDialog::addModulesPage(int id) @@ -231,6 +233,9 @@ int BaseQt4ProjectWizardDialog::addModulesPage(int id) int BaseQt4ProjectWizardDialog::addTargetSetupPage(QSet targets, bool mobile, int id) { m_targetSetupPage = new TargetSetupPage; + connect(this, SIGNAL(proFileNameChanged(QString)), + m_targetSetupPage, SLOT(setProFilePath(QString))); + QList infos = TargetSetupPage::importInfosForKnownQtVersions(0); if (!targets.isEmpty()) infos = TargetSetupPage::filterImportInfos(targets, infos); @@ -310,6 +315,12 @@ bool BaseQt4ProjectWizardDialog::isTargetSelected(const QString &targetid) const return m_targetSetupPage->isTargetSelected(targetid); } +void BaseQt4ProjectWizardDialog::propagateProjectName(const QString &name, const QString &path) +{ + const QString proFile = QDir::fromNativeSeparators(path) + QChar('/') + name + QChar('/') + name + QLatin1String(".pro"); + emit proFileNameChanged(proFile); +} + QSet BaseQt4ProjectWizardDialog::desktopTarget() { QSet rc; diff --git a/src/plugins/qt4projectmanager/wizards/qtwizard.h b/src/plugins/qt4projectmanager/wizards/qtwizard.h index feaf2dfa153..bd6594a856c 100644 --- a/src/plugins/qt4projectmanager/wizards/qtwizard.h +++ b/src/plugins/qt4projectmanager/wizards/qtwizard.h @@ -142,6 +142,12 @@ public: bool setupProject(Qt4Project *project) const; bool isTargetSelected(const QString &targetid) const; +signals: + void proFileNameChanged(const QString &proFileName); + +private slots: + void propagateProjectName(const QString &name, const QString &path); + private: inline void init(bool showModulesPage); diff --git a/src/plugins/qt4projectmanager/wizards/targetsetuppage.h b/src/plugins/qt4projectmanager/wizards/targetsetuppage.h index 742355760ac..26830ff4c36 100644 --- a/src/plugins/qt4projectmanager/wizards/targetsetuppage.h +++ b/src/plugins/qt4projectmanager/wizards/targetsetuppage.h @@ -92,7 +92,6 @@ public: void setImportDirectoryBrowsingLocation(const QString &directory); void setShowLocationInformation(bool location); void setPreferMobile(bool mobile); - void setProFilePath(const QString &dir); static QList importInfosForKnownQtVersions(Qt4ProjectManager::Qt4Project *project); static QList filterImportInfos(const QSet &validTargets, @@ -107,6 +106,9 @@ public: bool setupProject(Qt4Project *project); +public slots: + void setProFilePath(const QString &dir); + private slots: void itemWasChanged(); void addShadowBuildLocation();