diff options
author | Daniel Teske <daniel.teske@nokia.com> | 2012-05-16 12:19:47 +0200 |
---|---|---|
committer | Daniel Teske <daniel.teske@nokia.com> | 2012-05-16 13:57:24 +0200 |
commit | cec8f23879da3c458be0da5719b9eed091e6a1c8 (patch) | |
tree | 813bd48955a1b15f17584bddaf586538a08f1985 /src/plugins/projectexplorer/customwizard/customwizardpage.cpp | |
parent | 0fea030cf425c40ce4f9ecc15f169521f00080b3 (diff) | |
download | qt-creator-cec8f23879da3c458be0da5719b9eed091e6a1c8.tar.gz |
Custom wizard: Respect defaultText for Utils::PathChooser
Essentially the same code as for TextEdits and LineEdits
Change-Id: Id4812882258385d35bc5939ecba7433109ec6d2a
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@nokia.com>
Reviewed-by: Titta Heikkala
Diffstat (limited to 'src/plugins/projectexplorer/customwizard/customwizardpage.cpp')
-rw-r--r-- | src/plugins/projectexplorer/customwizard/customwizardpage.cpp | 27 |
1 files changed, 26 insertions, 1 deletions
diff --git a/src/plugins/projectexplorer/customwizard/customwizardpage.cpp b/src/plugins/projectexplorer/customwizard/customwizardpage.cpp index 4486a03134..b77d177483 100644 --- a/src/plugins/projectexplorer/customwizard/customwizardpage.cpp +++ b/src/plugins/projectexplorer/customwizard/customwizardpage.cpp @@ -164,6 +164,11 @@ CustomWizardFieldPage::TextEditData::TextEditData(QTextEdit* le, const QString & { } +CustomWizardFieldPage::PathChooserData::PathChooserData(Utils::PathChooser* pe, const QString &defText) : + pathChooser(pe), defaultText(defText) +{ +} + CustomWizardFieldPage::CustomWizardFieldPage(const QSharedPointer<CustomWizardContext> &ctx, const QSharedPointer<CustomWizardParameters> ¶meters, QWidget *parent) : @@ -305,10 +310,12 @@ QWidget *CustomWizardFieldPage::registerTextEdit(const QString &fieldName, } // QTextEdit QWidget *CustomWizardFieldPage::registerPathChooser(const QString &fieldName, - const CustomWizardField & /*field*/) + const CustomWizardField &field) { Utils::PathChooser *pathChooser = new Utils::PathChooser; registerField(fieldName, pathChooser, "path", SIGNAL(changed(QString))); + const QString defaultText = field.controlAttributes.value(QLatin1String("defaulttext")); + m_pathChoosers.push_back(PathChooserData(pathChooser, defaultText)); return pathChooser; } // Utils::PathChooser @@ -374,6 +381,15 @@ void CustomWizardFieldPage::initializePage() ted.textEdit->setText(defaultText); } } + foreach (const PathChooserData &ped, m_pathChoosers) { + if (!ped.userChange.isNull()) { + ped.pathChooser->setPath(ped.userChange); + } else if (!ped.defaultText.isEmpty()) { + QString defaultText = ped.defaultText; + CustomWizardContext::replaceFields(m_context->baseReplacements, &defaultText); + ped.pathChooser->setPath(defaultText); + } + } } void CustomWizardFieldPage::cleanupPage() @@ -397,6 +413,15 @@ void CustomWizardFieldPage::cleanupPage() else ted.userChange.clear(); } + for (int i= 0; i < m_pathChoosers.count(); ++i) { + PathChooserData &ped = m_pathChoosers[i]; + QString defaultText = ped.defaultText; + CustomWizardContext::replaceFields(m_context->baseReplacements, &defaultText); + if (ped.pathChooser->path() != ped.defaultText) + ped.userChange = ped.pathChooser->path(); + else + ped.userChange.clear(); + } QWizardPage::cleanupPage(); } |