From 710b459e351c05420dc3952e631d52189ce0d552 Mon Sep 17 00:00:00 2001 From: Tim Jenssen Date: Wed, 14 Mar 2018 14:45:13 +0100 Subject: [PATCH] QmlPuppet: enable reset the default puppet button Also fix the logic that empty means that it should use the default fallback puppet. Task-number: QTCREATORBUG-19511 Change-Id: Ia36907523281386a1ed56362a76e37aaa9ee16b2 Reviewed-by: Eike Ziller Reviewed-by: Thomas Hartmann --- src/plugins/qmldesigner/settingspage.cpp | 18 ++++++++++++++---- 1 file changed, 14 insertions(+), 4 deletions(-) diff --git a/src/plugins/qmldesigner/settingspage.cpp b/src/plugins/qmldesigner/settingspage.cpp index 6d904a49c22..d0dd85e7558 100644 --- a/src/plugins/qmldesigner/settingspage.cpp +++ b/src/plugins/qmldesigner/settingspage.cpp @@ -36,6 +36,8 @@ #include #include +#include + #include #include #include @@ -62,12 +64,14 @@ SettingsPageWidget::SettingsPageWidget(QWidget *parent) : m_ui.designerShowDebuggerCheckBox->setChecked(true); } ); - m_ui.resetFallbackPuppetPathButton->hide(); connect(m_ui.resetFallbackPuppetPathButton, &QPushButton::clicked, [=]() { m_ui.fallbackPuppetPathLineEdit->setPath( PuppetCreator::defaultPuppetFallbackDirectory()); } ); + m_ui.fallbackPuppetPathLineEdit->setPath(PuppetCreator::defaultPuppetFallbackDirectory()); + m_ui.fallbackPuppetPathLineEdit->lineEdit()->setPlaceholderText(PuppetCreator::defaultPuppetFallbackDirectory()); + connect(m_ui.resetQmlPuppetBuildPathButton, &QPushButton::clicked, [=]() { m_ui.puppetBuildPathLineEdit->setPath( PuppetCreator::defaultPuppetToplevelBuildDirectory()); @@ -129,10 +133,16 @@ DesignerSettings SettingsPageWidget::settings() const settings.insert(DesignerSettingsKey::DEBUG_PUPPET, m_ui.debugPuppetComboBox->currentText()); - if (!m_ui.fallbackPuppetPathLineEdit->path().isEmpty() && - m_ui.fallbackPuppetPathLineEdit->path() != PuppetCreator::defaultPuppetFallbackDirectory()) { + QString newFallbackPuppetPath = m_ui.fallbackPuppetPathLineEdit->path(); + QTC_CHECK(PuppetCreator::defaultPuppetFallbackDirectory() == + m_ui.fallbackPuppetPathLineEdit->lineEdit()->placeholderText()); + if (newFallbackPuppetPath.isEmpty()) + newFallbackPuppetPath = m_ui.fallbackPuppetPathLineEdit->lineEdit()->placeholderText(); + QString oldFallbackPuppetPath = settings.value(DesignerSettingsKey::PUPPET_FALLBACK_DIRECTORY, + PuppetCreator::defaultPuppetFallbackDirectory()).toString(); + if (oldFallbackPuppetPath != newFallbackPuppetPath) { settings.insert(DesignerSettingsKey::PUPPET_FALLBACK_DIRECTORY, - m_ui.fallbackPuppetPathLineEdit->path()); + newFallbackPuppetPath); } if (!m_ui.puppetBuildPathLineEdit->path().isEmpty() &&