summaryrefslogtreecommitdiff
path: root/src/plugins/projectexplorer/customwizard/customwizardpage.cpp
diff options
context:
space:
mode:
authorDaniel Teske <daniel.teske@nokia.com>2012-05-16 12:19:47 +0200
committerDaniel Teske <daniel.teske@nokia.com>2012-05-16 13:57:24 +0200
commitcec8f23879da3c458be0da5719b9eed091e6a1c8 (patch)
tree813bd48955a1b15f17584bddaf586538a08f1985 /src/plugins/projectexplorer/customwizard/customwizardpage.cpp
parent0fea030cf425c40ce4f9ecc15f169521f00080b3 (diff)
downloadqt-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.cpp27
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> &parameters,
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();
}