summaryrefslogtreecommitdiff
path: root/src/plugins/qmldesigner/designercore/instances/puppetcreator.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/plugins/qmldesigner/designercore/instances/puppetcreator.cpp')
-rw-r--r--src/plugins/qmldesigner/designercore/instances/puppetcreator.cpp57
1 files changed, 29 insertions, 28 deletions
diff --git a/src/plugins/qmldesigner/designercore/instances/puppetcreator.cpp b/src/plugins/qmldesigner/designercore/instances/puppetcreator.cpp
index 44d3bc8053..fa98d5c97b 100644
--- a/src/plugins/qmldesigner/designercore/instances/puppetcreator.cpp
+++ b/src/plugins/qmldesigner/designercore/instances/puppetcreator.cpp
@@ -95,9 +95,11 @@ QDateTime PuppetCreator::puppetSourceLastModified() const
sourceDirectoryPathes.append(basePuppetSourcePath + QStringLiteral("/qml2puppet/instances"));
foreach (const QString directoryPath, sourceDirectoryPathes) {
- QDateTime directoryPathLastModified = QFileInfo(directoryPath).lastModified();
- if (lastModified < directoryPathLastModified)
- lastModified = directoryPathLastModified;
+ foreach (const QFileInfo fileEntry, QDir(directoryPath).entryInfoList()) {
+ QDateTime filePathLastModified = fileEntry.lastModified();
+ if (lastModified < filePathLastModified)
+ lastModified = filePathLastModified;
+ }
}
return lastModified;
@@ -130,7 +132,10 @@ QProcess *PuppetCreator::createPuppetProcess(PuppetCreator::QmlPuppetVersion pup
else
puppetPath = qml2PuppetPath(m_availablePuppetType);
+ const QString workingDirectory = qmlPuppetDirectory(m_availablePuppetType);
+
return puppetProcess(puppetPath,
+ workingDirectory,
puppetMode,
socketToken,
handlerObject,
@@ -140,6 +145,7 @@ QProcess *PuppetCreator::createPuppetProcess(PuppetCreator::QmlPuppetVersion pup
QProcess *PuppetCreator::puppetProcess(const QString &puppetPath,
+ const QString &workingDirectory,
const QString &puppetMode,
const QString &socketToken,
QObject *handlerObject,
@@ -156,6 +162,7 @@ QProcess *PuppetCreator::puppetProcess(const QString &puppetPath,
puppetProcess->setProcessChannelMode(QProcess::MergedChannels);
QObject::connect(puppetProcess, SIGNAL(readyRead()), handlerObject, outputSlot);
}
+ puppetProcess->setWorkingDirectory(workingDirectory);
puppetProcess->start(puppetPath, QStringList() << socketToken << puppetMode << "-graphicssystem raster");
if (!qgetenv("DEBUG_QML_PUPPET").isEmpty())
@@ -192,7 +199,9 @@ bool PuppetCreator::build(const QString &qmlPuppetProjectFilePath) const
qmakeArguments.append(QStringLiteral("-r"));
qmakeArguments.append(QStringLiteral("-after"));
qmakeArguments.append(QStringLiteral("DESTDIR=") + qmlPuppetDirectory(UserSpacePuppet));
-#ifndef QT_DEBUG
+#ifdef QT_DEBUG
+ qmakeArguments.append(QStringLiteral("CONFIG+=debug"));
+#else
qmakeArguments.append(QStringLiteral("CONFIG+=release"));
#endif
qmakeArguments.append(qmlPuppetProjectFilePath);
@@ -241,34 +250,31 @@ static void warnAboutInvalidKit()
void PuppetCreator::createQml1PuppetExecutableIfMissing()
{
+ m_availablePuppetType = FallbackPuppet;
+
if (!m_useOnlyFallbackPuppet && m_kit) {
- if (m_qml1PuppetForKitPuppetHash.contains(m_kit->id())) {
- m_availablePuppetType = m_qml1PuppetForKitPuppetHash.value(m_kit->id());
- } else if (checkQmlpuppetIsReady()) {
- m_availablePuppetType = UserSpacePuppet;
+ if (m_qml1PuppetForKitPuppetHash.contains(m_kit->id())) {
+ m_availablePuppetType = m_qml1PuppetForKitPuppetHash.value(m_kit->id());
+ } else if (checkQmlpuppetIsReady()) {
+ m_availablePuppetType = UserSpacePuppet;
+ } else {
+ if (m_kit->isValid()) {
+ bool buildSucceeded = build(qmlPuppetProjectFile());
+ if (buildSucceeded)
+ m_availablePuppetType = UserSpacePuppet;
} else {
- if (m_kit->isValid()) {
-
- bool buildSucceeded = build(qmlPuppetProjectFile());
- if (buildSucceeded)
- m_availablePuppetType = UserSpacePuppet;
- else
- m_availablePuppetType = FallbackPuppet;
- } else {
- warnAboutInvalidKit();
- m_availablePuppetType = FallbackPuppet;
- }
- m_qml1PuppetForKitPuppetHash.insert(m_kit->id(), m_availablePuppetType);
+ warnAboutInvalidKit();
}
- } else {
- m_availablePuppetType = FallbackPuppet;
+ m_qml1PuppetForKitPuppetHash.insert(m_kit->id(), m_availablePuppetType);
+ }
}
}
void PuppetCreator::createQml2PuppetExecutableIfMissing()
{
- if (!m_useOnlyFallbackPuppet && m_kit) {
+ m_availablePuppetType = FallbackPuppet;
+ if (!m_useOnlyFallbackPuppet && m_kit) {
if (m_qml2PuppetForKitPuppetHash.contains(m_kit->id())) {
m_availablePuppetType = m_qml2PuppetForKitPuppetHash.value(m_kit->id());
} else if (checkQml2PuppetIsReady()) {
@@ -278,16 +284,11 @@ void PuppetCreator::createQml2PuppetExecutableIfMissing()
bool buildSucceeded = build(qml2PuppetProjectFile());
if (buildSucceeded)
m_availablePuppetType = UserSpacePuppet;
- else
- m_availablePuppetType = FallbackPuppet;
} else {
warnAboutInvalidKit();
- m_availablePuppetType = FallbackPuppet;
}
m_qml2PuppetForKitPuppetHash.insert(m_kit->id(), m_availablePuppetType);
}
- } else {
- m_availablePuppetType = FallbackPuppet;
}
}