/* * Only when m_process has started... */ void ProcessWrapper::onProcessStarted() { m_pidTerminal = m_process->pid(); //std::cout << "First PID: " << m_pidTerminal << std::endl; m_timerSingleShot->start(2000); emit startedTerminal(); }
Terminal::Terminal(QObject *parent, const QString &selectedTerminal) : QObject(parent) { m_process = new QProcess(parent); m_processWrapper = new utils::ProcessWrapper(parent); //Make the needed signal propagations... connect(m_process, SIGNAL(started()), this, SIGNAL(started())); connect(m_process, SIGNAL(finished(int,QProcess::ExitStatus)), this, SIGNAL(finished(int,QProcess::ExitStatus))); connect(m_processWrapper, SIGNAL(startedTerminal()), this, SIGNAL(startedTerminal())); connect(m_processWrapper, SIGNAL(finishedTerminal(int,QProcess::ExitStatus)), this, SIGNAL(finishedTerminal(int,QProcess::ExitStatus))); QProcessEnvironment env = QProcessEnvironment::systemEnvironment(); env.insert("LANG", "C"); env.insert("LC_MESSAGES", "C"); m_process->setProcessEnvironment(env); m_selectedTerminal = selectedTerminal; }