aboutsummaryrefslogtreecommitdiffstats
path: root/src/plugins/qmldesigner/settingspage.cpp
diff options
context:
space:
mode:
authorTim Jenssen <tim.jenssen@qt.io>2018-10-15 06:21:33 +0200
committerTim Jenssen <tim.jenssen@qt.io>2018-10-17 16:07:37 +0000
commitada0c6f405c780b74a4ac26e4c48ad361fc7b8b2 (patch)
treed99e9c99f13462cc1b331f54d4fde060ff6c25cf /src/plugins/qmldesigner/settingspage.cpp
parent218a439bd5bfce74ebaf7837c8a90777020ac31a (diff)
QmlDesigner: fix to not use not existing puppets
also remove the path if it is the same as the default path Task-number: QTCREATORBUG-21303 Change-Id: I811ffab789c1cfc200aa2c68672ee4d6ee83ecfe Reviewed-by: Tim Jenssen <tim.jenssen@qt.io>
Diffstat (limited to 'src/plugins/qmldesigner/settingspage.cpp')
-rw-r--r--src/plugins/qmldesigner/settingspage.cpp15
1 files changed, 9 insertions, 6 deletions
diff --git a/src/plugins/qmldesigner/settingspage.cpp b/src/plugins/qmldesigner/settingspage.cpp
index 6fb88e5f214..041efd809bb 100644
--- a/src/plugins/qmldesigner/settingspage.cpp
+++ b/src/plugins/qmldesigner/settingspage.cpp
@@ -69,7 +69,6 @@ SettingsPageWidget::SettingsPageWidget(QWidget *parent) :
PuppetCreator::defaultPuppetFallbackDirectory());
}
);
- m_ui.fallbackPuppetPathLineEdit->setPath(PuppetCreator::defaultPuppetFallbackDirectory());
m_ui.fallbackPuppetPathLineEdit->lineEdit()->setPlaceholderText(PuppetCreator::defaultPuppetFallbackDirectory());
connect(m_ui.resetQmlPuppetBuildPathButton, &QPushButton::clicked, [=]() {
@@ -138,11 +137,15 @@ DesignerSettings SettingsPageWidget::settings() const
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,
- newFallbackPuppetPath);
+ QString oldFallbackPuppetPath = PuppetCreator::qmlPuppetFallbackDirectory(settings);
+
+ if (oldFallbackPuppetPath != newFallbackPuppetPath && QFileInfo::exists(newFallbackPuppetPath)) {
+ if (newFallbackPuppetPath == PuppetCreator::defaultPuppetFallbackDirectory())
+ settings.insert(DesignerSettingsKey::PUPPET_FALLBACK_DIRECTORY, QString());
+ else
+ settings.insert(DesignerSettingsKey::PUPPET_FALLBACK_DIRECTORY, newFallbackPuppetPath);
+ } else if (!QFileInfo::exists(oldFallbackPuppetPath) || !QFileInfo::exists(newFallbackPuppetPath)){
+ settings.insert(DesignerSettingsKey::PUPPET_FALLBACK_DIRECTORY, QString());
}
if (!m_ui.puppetBuildPathLineEdit->path().isEmpty() &&