insilmaril@0: #include "process.h" insilmaril@0: insilmaril@825: #include insilmaril@825: #include insilmaril@825: insilmaril@825: extern bool debug; insilmaril@825: insilmaril@0: ///////////////////////////////////////////////////////////////// insilmaril@0: // Process insilmaril@0: ///////////////////////////////////////////////////////////////// insilmaril@0: Process::Process() insilmaril@0: { insilmaril@408: connect( this, SIGNAL(readyReadStandardError()), insilmaril@0: this, SLOT(readProcErrout()) ); insilmaril@408: connect( this, SIGNAL(readyReadStandardOutput()), insilmaril@0: this, SLOT(readProcStdout()) ); insilmaril@0: clear(); insilmaril@0: } insilmaril@0: insilmaril@0: Process::~Process() insilmaril@0: { insilmaril@0: } insilmaril@0: insilmaril@0: void Process::clear() insilmaril@0: { insilmaril@0: errOut=""; insilmaril@0: stdOut=""; insilmaril@0: } insilmaril@0: insilmaril@825: void Process::runScript(QString spath, QString fpath) insilmaril@825: { insilmaril@825: spath.replace ("%f",fpath); insilmaril@825: QStringList args=QStringList::split (' ',spath,false); insilmaril@825: spath=args.takeFirst(); insilmaril@825: insilmaril@825: if (debug) insilmaril@825: qDebug()<<"Process::runScript : " + spath+" "+args.join(" "); insilmaril@825: insilmaril@825: start (spath,args); insilmaril@825: if (!waitForStarted() ) insilmaril@825: { insilmaril@825: QMessageBox::critical( 0, tr( "Critical Error" ), insilmaril@825: tr("Could not start %1").arg(spath) ); insilmaril@825: } else insilmaril@825: { insilmaril@825: if (!waitForFinished()) insilmaril@825: QMessageBox::critical( 0, tr( "Critical Error" ), insilmaril@825: tr("%1 didn't exit normally").arg(spath) + insilmaril@825: getErrout() ); insilmaril@825: // else insilmaril@825: // if (exitStatus()>0) showOutput=true; insilmaril@825: insilmaril@825: } insilmaril@825: /* FIXME-3 output for Process::runScript insilmaril@825: qDebug()<