forked from qt-creator/qt-creator
Wizards: avoiding code duplication
I moved setPath(wizardDialogParameters.defaultPath()) into the constructor of BaseProjectWizardDialog. I created addExtensionPages() instead of having of having the foreach everywhere. Moving the call into the constructor of BaseProjectWizardDialog is not trivial since a lot of derived classes rely on execution order and the order is often different. Entangling this is not trivial and easily might break functionality. Change-Id: I48dddaf72caea84da783dc9e2f42f2c7eff1c0ce Reviewed-by: Friedemann Kleint <Friedemann.Kleint@nokia.com>
This commit is contained in:
@@ -72,6 +72,7 @@ BaseProjectWizardDialog::BaseProjectWizardDialog(QWidget *parent,
|
||||
Utils::Wizard(parent),
|
||||
d(new BaseProjectWizardDialogPrivate(new Utils::ProjectIntroPage))
|
||||
{
|
||||
setPath(parameters.defaultPath());
|
||||
setSelectedPlatform(parameters.selectedPlatform());
|
||||
setRequiredFeatures(parameters.requiredFeatures());
|
||||
init();
|
||||
@@ -84,6 +85,7 @@ BaseProjectWizardDialog::BaseProjectWizardDialog(Utils::ProjectIntroPage *introP
|
||||
Utils::Wizard(parent),
|
||||
d(new BaseProjectWizardDialogPrivate(introPage, introId))
|
||||
{
|
||||
setPath(parameters.defaultPath());
|
||||
setSelectedPlatform(parameters.selectedPlatform());
|
||||
setRequiredFeatures(parameters.requiredFeatures());
|
||||
init();
|
||||
@@ -171,6 +173,12 @@ QString BaseProjectWizardDialog::uniqueProjectName(const QString &path)
|
||||
return prefix;
|
||||
}
|
||||
|
||||
void BaseProjectWizardDialog::addExtensionPages(const QList<QWizardPage *> &wizardPageList)
|
||||
{
|
||||
foreach (QWizardPage *p,wizardPageList)
|
||||
Core::BaseFileWizard::applyExtensionPageShortTitle(this, addPage(p));
|
||||
}
|
||||
|
||||
QString BaseProjectWizardDialog::selectedPlatform() const
|
||||
{
|
||||
return d->selectedPlatform;
|
||||
|
||||
Reference in New Issue
Block a user