TerminalRunner: Use QtcProcess in terminal mode instead of ConsoleProcess

Change-Id: I5ddc521ed62947a6bd09eb048408fc9573069615
Reviewed-by: <github-actions-qt-creator@cristianadam.eu>
Reviewed-by: hjk <hjk@qt.io>
This commit is contained in:
Jarek Kobus
2022-01-25 11:29:23 +01:00
parent 5e74b809cc
commit a09630d50e
4 changed files with 63 additions and 26 deletions

View File

@@ -251,6 +251,10 @@ public:
virtual bool waitForReadyRead(int msecs) = 0;
virtual bool waitForFinished(int msecs) = 0;
virtual void kickoffProcess() { QTC_CHECK(false); }
virtual void interruptProcess() { QTC_CHECK(false); }
virtual qint64 applicationMainThreadID() const { QTC_CHECK(false); return -1; }
void setLowPriority() { m_lowPriority = true; }
bool isLowPriority() const { return m_lowPriority; }
void setUnixTerminalDisabled() { m_unixTerminalDisabled = true; }
@@ -351,6 +355,10 @@ public:
// intentionally no-op without an assert
bool waitForFinished(int msecs) override { return false; }
void kickoffProcess() override { m_terminal.kickoffProcess(); }
void interruptProcess() override { m_terminal.interruptProcess(); }
qint64 applicationMainThreadID() const override { return m_terminal.applicationMainThreadID(); }
private:
Internal::TerminalProcess m_terminal;
};
@@ -1151,6 +1159,21 @@ Environment QtcProcess::systemEnvironmentForBinary(const FilePath &filePath)
return Environment::systemEnvironment();
}
void QtcProcess::kickoffProcess()
{
d->m_process->kickoffProcess();
}
void QtcProcess::interruptProcess()
{
d->m_process->interruptProcess();
}
qint64 QtcProcess::applicationMainThreadID() const
{
return d->m_process->applicationMainThreadID();
}
void QtcProcess::setProcessChannelMode(QProcess::ProcessChannelMode mode)
{
d->m_process->setProcessChannelMode(mode);