forked from qt-creator/qt-creator
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>
This commit is contained in:
@@ -371,7 +371,7 @@ QString PuppetCreator::qmlPuppetDirectory(PuppetType puppetType) const
|
|||||||
return qmlPuppetToplevelBuildDirectory() + '/' + QCoreApplication::applicationVersion()
|
return qmlPuppetToplevelBuildDirectory() + '/' + QCoreApplication::applicationVersion()
|
||||||
+ '/' + QString::fromLatin1(qtHash());
|
+ '/' + QString::fromLatin1(qtHash());
|
||||||
|
|
||||||
return qmlPuppetFallbackDirectory();
|
return qmlPuppetFallbackDirectory(m_designerSettings);
|
||||||
}
|
}
|
||||||
|
|
||||||
QString PuppetCreator::defaultPuppetFallbackDirectory()
|
QString PuppetCreator::defaultPuppetFallbackDirectory()
|
||||||
@@ -382,12 +382,12 @@ QString PuppetCreator::defaultPuppetFallbackDirectory()
|
|||||||
return Core::ICore::libexecPath();
|
return Core::ICore::libexecPath();
|
||||||
}
|
}
|
||||||
|
|
||||||
QString PuppetCreator::qmlPuppetFallbackDirectory() const
|
QString PuppetCreator::qmlPuppetFallbackDirectory(const DesignerSettings &settings)
|
||||||
{
|
{
|
||||||
#ifndef QMLDESIGNER_TEST
|
#ifndef QMLDESIGNER_TEST
|
||||||
QString puppetFallbackDirectory = m_designerSettings.value(
|
QString puppetFallbackDirectory = settings.value(
|
||||||
DesignerSettingsKey::PUPPET_FALLBACK_DIRECTORY).toString();
|
DesignerSettingsKey::PUPPET_FALLBACK_DIRECTORY).toString();
|
||||||
if (puppetFallbackDirectory.isEmpty())
|
if (puppetFallbackDirectory.isEmpty() || !QFileInfo::exists(puppetFallbackDirectory))
|
||||||
return defaultPuppetFallbackDirectory();
|
return defaultPuppetFallbackDirectory();
|
||||||
return puppetFallbackDirectory;
|
return puppetFallbackDirectory;
|
||||||
#else
|
#else
|
||||||
|
|||||||
@@ -66,12 +66,12 @@ public:
|
|||||||
|
|
||||||
static QString defaultPuppetToplevelBuildDirectory();
|
static QString defaultPuppetToplevelBuildDirectory();
|
||||||
static QString defaultPuppetFallbackDirectory();
|
static QString defaultPuppetFallbackDirectory();
|
||||||
|
static QString qmlPuppetFallbackDirectory(const DesignerSettings &settings);
|
||||||
protected:
|
protected:
|
||||||
bool build(const QString &qmlPuppetProjectFilePath) const;
|
bool build(const QString &qmlPuppetProjectFilePath) const;
|
||||||
|
|
||||||
|
|
||||||
QString qmlPuppetToplevelBuildDirectory() const;
|
QString qmlPuppetToplevelBuildDirectory() const;
|
||||||
QString qmlPuppetFallbackDirectory() const;
|
|
||||||
QString qmlPuppetDirectory(PuppetType puppetPathType) const;
|
QString qmlPuppetDirectory(PuppetType puppetPathType) const;
|
||||||
QString qml2PuppetPath(PuppetType puppetType) const;
|
QString qml2PuppetPath(PuppetType puppetType) const;
|
||||||
|
|
||||||
|
|||||||
@@ -69,7 +69,6 @@ SettingsPageWidget::SettingsPageWidget(QWidget *parent) :
|
|||||||
PuppetCreator::defaultPuppetFallbackDirectory());
|
PuppetCreator::defaultPuppetFallbackDirectory());
|
||||||
}
|
}
|
||||||
);
|
);
|
||||||
m_ui.fallbackPuppetPathLineEdit->setPath(PuppetCreator::defaultPuppetFallbackDirectory());
|
|
||||||
m_ui.fallbackPuppetPathLineEdit->lineEdit()->setPlaceholderText(PuppetCreator::defaultPuppetFallbackDirectory());
|
m_ui.fallbackPuppetPathLineEdit->lineEdit()->setPlaceholderText(PuppetCreator::defaultPuppetFallbackDirectory());
|
||||||
|
|
||||||
connect(m_ui.resetQmlPuppetBuildPathButton, &QPushButton::clicked, [=]() {
|
connect(m_ui.resetQmlPuppetBuildPathButton, &QPushButton::clicked, [=]() {
|
||||||
@@ -138,11 +137,15 @@ DesignerSettings SettingsPageWidget::settings() const
|
|||||||
m_ui.fallbackPuppetPathLineEdit->lineEdit()->placeholderText());
|
m_ui.fallbackPuppetPathLineEdit->lineEdit()->placeholderText());
|
||||||
if (newFallbackPuppetPath.isEmpty())
|
if (newFallbackPuppetPath.isEmpty())
|
||||||
newFallbackPuppetPath = m_ui.fallbackPuppetPathLineEdit->lineEdit()->placeholderText();
|
newFallbackPuppetPath = m_ui.fallbackPuppetPathLineEdit->lineEdit()->placeholderText();
|
||||||
QString oldFallbackPuppetPath = settings.value(DesignerSettingsKey::PUPPET_FALLBACK_DIRECTORY,
|
QString oldFallbackPuppetPath = PuppetCreator::qmlPuppetFallbackDirectory(settings);
|
||||||
PuppetCreator::defaultPuppetFallbackDirectory()).toString();
|
|
||||||
if (oldFallbackPuppetPath != newFallbackPuppetPath) {
|
if (oldFallbackPuppetPath != newFallbackPuppetPath && QFileInfo::exists(newFallbackPuppetPath)) {
|
||||||
settings.insert(DesignerSettingsKey::PUPPET_FALLBACK_DIRECTORY,
|
if (newFallbackPuppetPath == PuppetCreator::defaultPuppetFallbackDirectory())
|
||||||
newFallbackPuppetPath);
|
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() &&
|
if (!m_ui.puppetBuildPathLineEdit->path().isEmpty() &&
|
||||||
|
|||||||
Reference in New Issue
Block a user