forked from qt-creator/qt-creator
Utils: Simplify TerminalProcess interface
Replace only internally used functions by direct access. Change-Id: I3daff0596ef6fb6e1c5b5711928f14d590e4e56c Reviewed-by: Jarek Kobus <jaroslaw.kobus@qt.io>
This commit is contained in:
@@ -187,11 +187,6 @@ void TerminalProcess::setCommand(const CommandLine &command)
|
|||||||
d->m_commandLine = command;
|
d->m_commandLine = command;
|
||||||
}
|
}
|
||||||
|
|
||||||
const CommandLine &TerminalProcess::commandLine() const
|
|
||||||
{
|
|
||||||
return d->m_commandLine;
|
|
||||||
}
|
|
||||||
|
|
||||||
void TerminalProcess::setAbortOnMetaChars(bool abort)
|
void TerminalProcess::setAbortOnMetaChars(bool abort)
|
||||||
{
|
{
|
||||||
d->m_abortOnMetaChars = abort;
|
d->m_abortOnMetaChars = abort;
|
||||||
@@ -279,7 +274,7 @@ void TerminalProcess::start()
|
|||||||
d->m_pid = new PROCESS_INFORMATION;
|
d->m_pid = new PROCESS_INFORMATION;
|
||||||
ZeroMemory(d->m_pid, sizeof(PROCESS_INFORMATION));
|
ZeroMemory(d->m_pid, sizeof(PROCESS_INFORMATION));
|
||||||
|
|
||||||
QString workDir = workingDirectory().toUserOutput();
|
QString workDir = d->m_workingDir.toUserOutput();
|
||||||
if (!workDir.isEmpty() && !workDir.endsWith(QLatin1Char('\\')))
|
if (!workDir.isEmpty() && !workDir.endsWith(QLatin1Char('\\')))
|
||||||
workDir.append(QLatin1Char('\\'));
|
workDir.append(QLatin1Char('\\'));
|
||||||
|
|
||||||
@@ -442,7 +437,7 @@ void TerminalProcess::start()
|
|||||||
<< modeOption(d->m_terminalMode)
|
<< modeOption(d->m_terminalMode)
|
||||||
<< d->m_stubServer.fullServerName()
|
<< d->m_stubServer.fullServerName()
|
||||||
<< msgPromptToClose()
|
<< msgPromptToClose()
|
||||||
<< workingDirectory().path()
|
<< d->m_workingDir.path()
|
||||||
<< (d->m_tempFile ? d->m_tempFile->fileName() : QString())
|
<< (d->m_tempFile ? d->m_tempFile->fileName() : QString())
|
||||||
<< QString::number(getpid())
|
<< QString::number(getpid())
|
||||||
<< pcmd
|
<< pcmd
|
||||||
@@ -656,7 +651,7 @@ void TerminalProcess::readStubOutput()
|
|||||||
#ifdef Q_OS_WIN
|
#ifdef Q_OS_WIN
|
||||||
out.chop(2); // \r\n
|
out.chop(2); // \r\n
|
||||||
if (out.startsWith("err:chdir ")) {
|
if (out.startsWith("err:chdir ")) {
|
||||||
emitError(QProcess::FailedToStart, msgCannotChangeToWorkDir(workingDirectory(), winErrorMessage(out.mid(10).toInt())));
|
emitError(QProcess::FailedToStart, msgCannotChangeToWorkDir(d->m_workingDir, winErrorMessage(out.mid(10).toInt())));
|
||||||
} else if (out.startsWith("err:exec ")) {
|
} else if (out.startsWith("err:exec ")) {
|
||||||
emitError(QProcess::FailedToStart, msgCannotExecute(d->m_commandLine.executable().toUserOutput(), winErrorMessage(out.mid(9).toInt())));
|
emitError(QProcess::FailedToStart, msgCannotExecute(d->m_commandLine.executable().toUserOutput(), winErrorMessage(out.mid(9).toInt())));
|
||||||
} else if (out.startsWith("thread ")) { // Windows only
|
} else if (out.startsWith("thread ")) { // Windows only
|
||||||
@@ -696,7 +691,7 @@ void TerminalProcess::readStubOutput()
|
|||||||
#else
|
#else
|
||||||
out.chop(1); // \n
|
out.chop(1); // \n
|
||||||
if (out.startsWith("err:chdir ")) {
|
if (out.startsWith("err:chdir ")) {
|
||||||
emitError(QProcess::FailedToStart, msgCannotChangeToWorkDir(workingDirectory(), errorMsg(out.mid(10).toInt())));
|
emitError(QProcess::FailedToStart, msgCannotChangeToWorkDir(d->m_workingDir, errorMsg(out.mid(10).toInt())));
|
||||||
} else if (out.startsWith("err:exec ")) {
|
} else if (out.startsWith("err:exec ")) {
|
||||||
emitError(QProcess::FailedToStart, msgCannotExecute(d->m_commandLine.executable().toString(), errorMsg(out.mid(9).toInt())));
|
emitError(QProcess::FailedToStart, msgCannotExecute(d->m_commandLine.executable().toString(), errorMsg(out.mid(9).toInt())));
|
||||||
} else if (out.startsWith("spid ")) {
|
} else if (out.startsWith("spid ")) {
|
||||||
@@ -786,21 +781,11 @@ void TerminalProcess::setWorkingDirectory(const FilePath &dir)
|
|||||||
d->m_workingDir = dir;
|
d->m_workingDir = dir;
|
||||||
}
|
}
|
||||||
|
|
||||||
FilePath TerminalProcess::workingDirectory() const
|
|
||||||
{
|
|
||||||
return d->m_workingDir;
|
|
||||||
}
|
|
||||||
|
|
||||||
void TerminalProcess::setEnvironment(const Environment &env)
|
void TerminalProcess::setEnvironment(const Environment &env)
|
||||||
{
|
{
|
||||||
d->m_environment = env;
|
d->m_environment = env;
|
||||||
}
|
}
|
||||||
|
|
||||||
const Environment &TerminalProcess::environment() const
|
|
||||||
{
|
|
||||||
return d->m_environment;
|
|
||||||
}
|
|
||||||
|
|
||||||
QProcess::ProcessError TerminalProcess::error() const
|
QProcess::ProcessError TerminalProcess::error() const
|
||||||
{
|
{
|
||||||
return d->m_error;
|
return d->m_error;
|
||||||
|
@@ -40,21 +40,16 @@ namespace Internal {
|
|||||||
class TerminalProcess : public QObject
|
class TerminalProcess : public QObject
|
||||||
{
|
{
|
||||||
Q_OBJECT
|
Q_OBJECT
|
||||||
|
|
||||||
public:
|
public:
|
||||||
explicit TerminalProcess(QObject *parent);
|
explicit TerminalProcess(QObject *parent);
|
||||||
~TerminalProcess() override;
|
~TerminalProcess() override;
|
||||||
|
|
||||||
void setProcessImpl(ProcessImpl processImpl);
|
void setProcessImpl(ProcessImpl processImpl);
|
||||||
void setTerminalMode(TerminalMode mode);
|
void setTerminalMode(TerminalMode mode);
|
||||||
|
|
||||||
void setCommand(const CommandLine &command);
|
void setCommand(const CommandLine &command);
|
||||||
const CommandLine &commandLine() const;
|
|
||||||
|
|
||||||
void setWorkingDirectory(const FilePath &dir);
|
void setWorkingDirectory(const FilePath &dir);
|
||||||
FilePath workingDirectory() const;
|
|
||||||
|
|
||||||
void setEnvironment(const Environment &env);
|
void setEnvironment(const Environment &env);
|
||||||
const Environment &environment() const;
|
|
||||||
|
|
||||||
QProcess::ProcessError error() const;
|
QProcess::ProcessError error() const;
|
||||||
QString errorString() const;
|
QString errorString() const;
|
||||||
|
Reference in New Issue
Block a user