diff options
author | Tim Jenssen <tim.jenssen@qt.io> | 2018-10-15 06:21:33 +0200 |
---|---|---|
committer | Tim Jenssen <tim.jenssen@qt.io> | 2018-10-17 16:07:37 +0000 |
commit | ada0c6f405c780b74a4ac26e4c48ad361fc7b8b2 (patch) | |
tree | d99e9c99f13462cc1b331f54d4fde060ff6c25cf /src/plugins/qmldesigner/settingspage.cpp | |
parent | 218a439bd5bfce74ebaf7837c8a90777020ac31a (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.cpp | 15 |
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() && |