QmlDesigner: Replace SynchronousProcess use in BuildableHelperLibrary

Change-Id: I064d0c53116b1f657c1b1d301b4de3e337ba9eaa
Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
This commit is contained in:
hjk
2021-04-30 15:08:14 +02:00
parent 4c2e7f4adc
commit 779e572ea3

View File

@@ -44,7 +44,7 @@
#include <utils/fileutils.h> #include <utils/fileutils.h>
#include <utils/qtcassert.h> #include <utils/qtcassert.h>
#include <utils/utilsicons.h> #include <utils/utilsicons.h>
#include <utils/synchronousprocess.h> #include <utils/qtcprocess.h>
#include <QAction> #include <QAction>
#include <QTemporaryFile> #include <QTemporaryFile>
@@ -103,14 +103,15 @@ void GenerateResource::generateMenuEntry()
currentProject->activeTarget()->kit()); currentProject->activeTarget()->kit());
QString rccBinary = qtVersion->rccCommand(); QString rccBinary = qtVersion->rccCommand();
QProcess rccProcess; Utils::QtcProcess rccProcess;
rccProcess.setWorkingDirectory(projectPath); rccProcess.setWorkingDirectory(projectPath);
const QStringList arguments1 = {"--project", "--output", temp.fileName()}; const QStringList arguments1 = {"--project", "--output", temp.fileName()};
const QStringList arguments2 = {"--binary", "--output", resourceFileName, temp.fileName()}; const QStringList arguments2 = {"--binary", "--output", resourceFileName, temp.fileName()};
for (const auto &arguments : {arguments1, arguments2}) { for (const auto &arguments : {arguments1, arguments2}) {
rccProcess.start(rccBinary, arguments); rccProcess.setCommand({rccBinary, arguments});
rccProcess.start();
if (!rccProcess.waitForStarted()) { if (!rccProcess.waitForStarted()) {
Core::MessageManager::writeDisrupting( Core::MessageManager::writeDisrupting(
QCoreApplication::translate("QmlDesigner::GenerateResource", QCoreApplication::translate("QmlDesigner::GenerateResource",
@@ -120,8 +121,8 @@ void GenerateResource::generateMenuEntry()
} }
QByteArray stdOut; QByteArray stdOut;
QByteArray stdErr; QByteArray stdErr;
if (!Utils::SynchronousProcess::readDataFromProcess(rccProcess, 30, &stdOut, &stdErr, true)) { if (!rccProcess.readDataFromProcess(30, &stdOut, &stdErr, true)) {
Utils::SynchronousProcess::stopProcess(rccProcess); rccProcess.stopProcess();
Core::MessageManager::writeDisrupting( Core::MessageManager::writeDisrupting(
QCoreApplication::translate("QmlDesigner::GenerateResource", QCoreApplication::translate("QmlDesigner::GenerateResource",
"A timeout occurred running \"%1\"") "A timeout occurred running \"%1\"")