Terminal: Enable TerminalProcessInterface

Adds a new helper app "process_stub" that replaces the previous.
"process_stub_unix/win". The purpose was and is to allow processes
to be "injected" into other hosts apps like terminals while still
being able to control and debug them.

A new base class called "TerminalInterface" is used for both the new
Terminal plugin and the legacy TerminalProcess implementation.

Fixes: QTCREATORBUG-16364
Change-Id: If21273fe53ad545d1a768c17c83db4bf2fd85395
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
Reviewed-by: Jarek Kobus <jaroslaw.kobus@qt.io>
Reviewed-by: hjk <hjk@qt.io>
This commit is contained in:
Marcus Tillmanns
2023-03-07 17:55:38 +01:00
parent 2d2eef1c2c
commit 0870f2583b
34 changed files with 1276 additions and 1502 deletions

View File

@@ -71,10 +71,15 @@ public:
}
};
void setShellName(const QString &shellName);
QString shellName() const;
Utils::FilePath cwd() const;
Utils::CommandLine currentCommand() const;
std::optional<Utils::Id> identifier() const;
QProcess::ProcessState processState() const;
void restart(const Utils::Terminal::OpenTerminalParameters &openParameters);
signals:
void started(qint64 pid);
@@ -167,6 +172,7 @@ private:
std::unique_ptr<ShellIntegration> m_shellIntegration;
QString m_shellName;
Utils::Id m_identifier;
QFont m_font;
QSizeF m_cellSize;