forked from qt-creator/qt-creator
TerminalImpl: Drop ProcessImpl and Terminal mode from c'tor
Change-Id: I0571eabb1a20389055a8e98dd942776b3d054981 Reviewed-by: hjk <hjk@qt.io>
This commit is contained in:
@@ -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();
|
||||
}
|
||||
|
@@ -123,14 +123,10 @@ static QString msgCannotExecute(const QString & p, const QString &why)
|
||||
class TerminalProcessPrivate
|
||||
{
|
||||
public:
|
||||
TerminalProcessPrivate(QObject *parent, ProcessImpl processImpl, TerminalMode terminalMode)
|
||||
: m_terminalMode(terminalMode)
|
||||
, m_process(parent)
|
||||
{
|
||||
m_process.setProcessImpl(processImpl);
|
||||
}
|
||||
TerminalProcessPrivate(QObject *parent)
|
||||
: m_process(parent) {}
|
||||
|
||||
const TerminalMode m_terminalMode;
|
||||
TerminalMode m_terminalMode = TerminalMode::On;
|
||||
FilePath m_workingDir;
|
||||
Environment m_environment;
|
||||
qint64 m_processId = 0;
|
||||
@@ -160,9 +156,8 @@ public:
|
||||
#endif
|
||||
};
|
||||
|
||||
TerminalProcess::TerminalProcess(QObject *parent, ProcessImpl processImpl,
|
||||
TerminalMode terminalMode)
|
||||
: QObject(parent), d(new TerminalProcessPrivate(this, processImpl, terminalMode))
|
||||
TerminalProcess::TerminalProcess(QObject *parent)
|
||||
: QObject(parent), d(new TerminalProcessPrivate(this))
|
||||
{
|
||||
connect(&d->m_stubServer, &QLocalServer::newConnection,
|
||||
this, &TerminalProcess::stubConnectionAvailable);
|
||||
@@ -176,6 +171,17 @@ TerminalProcess::~TerminalProcess()
|
||||
delete d;
|
||||
}
|
||||
|
||||
void TerminalProcess::setProcessImpl(ProcessImpl processImpl)
|
||||
{
|
||||
d->m_process.setProcessImpl(processImpl);
|
||||
}
|
||||
|
||||
void TerminalProcess::setTerminalMode(TerminalMode mode)
|
||||
{
|
||||
QTC_ASSERT(mode != TerminalMode::Off, return);
|
||||
d->m_terminalMode = mode;
|
||||
}
|
||||
|
||||
void TerminalProcess::setCommand(const CommandLine &command)
|
||||
{
|
||||
d->m_commandLine = command;
|
||||
|
@@ -41,9 +41,12 @@ class TerminalProcess : public QObject
|
||||
{
|
||||
Q_OBJECT
|
||||
public:
|
||||
explicit TerminalProcess(QObject *parent, ProcessImpl processImpl, TerminalMode terminalMode);
|
||||
explicit TerminalProcess(QObject *parent);
|
||||
~TerminalProcess() override;
|
||||
|
||||
void setProcessImpl(ProcessImpl processImpl);
|
||||
void setTerminalMode(TerminalMode mode);
|
||||
|
||||
void setCommand(const CommandLine &command);
|
||||
const CommandLine &commandLine() const;
|
||||
|
||||
|
Reference in New Issue
Block a user