#include "ComputeProcessWrapper.h" #include ComputeProcessWrapper::ComputeProcessWrapper() { connect(&computeProcess, &QProcess::readyReadStandardOutput, [this]() { emit newMessageIncoming(computeProcess.readAllStandardOutput(), false); }); connect(&computeProcess, &QProcess::readyReadStandardError, [this]() { emit newMessageIncoming(computeProcess.readAllStandardError(), true); }); } void ComputeProcessWrapper::setProcess() { computeProcess.setProgram(launchOption.executable); computeProcess.setArguments(launchOption.arguments); computeProcess.setWorkingDirectory(launchOption.runDirectory); } void ComputeProcessWrapper::doCompute() { setProcess(); computeProcess.start(); while (!computeProcess.waitForFinished()) { QThread::sleep(1); } emit computingFinished(computeProcess.exitStatus() == QProcess::NormalExit); }