TerminalImpl: Drop ProcessImpl and Terminal mode from c'tor

Change-Id: I0571eabb1a20389055a8e98dd942776b3d054981
Reviewed-by: hjk <hjk@qt.io>
This commit is contained in:
Jarek Kobus
2022-02-21 15:52:03 +01:00
parent 02d9a9b7b7
commit d502f78c4f
3 changed files with 27 additions and 17 deletions

View File

@@ -218,8 +218,7 @@ public:
class TerminalImpl : public ProcessInterface
{
public:
TerminalImpl(ProcessImpl processImpl, TerminalMode terminalMode)
: m_terminal(this, processImpl, terminalMode)
TerminalImpl() : m_terminal(this)
{
connect(&m_terminal, &Internal::TerminalProcess::started,
this, &ProcessInterface::started);
@@ -237,6 +236,8 @@ public:
void start() override
{
m_terminal.setProcessImpl(m_setup.m_processImpl);
m_terminal.setTerminalMode(m_setup.m_terminalMode);
m_terminal.setAbortOnMetaChars(m_setup.m_abortOnMetaChars);
m_terminal.setCommand(m_setup.m_commandLine);
m_terminal.setWorkingDirectory(m_setup.m_workingDirectory);
@@ -451,12 +452,12 @@ public:
ProcessInterface *createProcessInterface()
{
if (m_setup.m_terminalMode != TerminalMode::Off)
return new TerminalImpl();
const ProcessImpl impl = m_setup.m_processImpl == ProcessImpl::Default
? defaultProcessImpl() : m_setup.m_processImpl;
if (m_setup.m_terminalMode != TerminalMode::Off)
return new TerminalImpl(impl, m_setup.m_terminalMode);
else if (impl == ProcessImpl::QProcess)
if (impl == ProcessImpl::QProcess)
return new QProcessImpl();
return new ProcessLauncherImpl();
}