Terminal: Create Terminal solution

Change-Id: If271fd23a84c49bbc25fcc3b9bc0939c7237d095
Reviewed-by: Cristian Adam <cristian.adam@qt.io>
This commit is contained in:
Marcus Tillmanns
2023-07-17 13:51:56 +02:00
parent 209f3ba579
commit 42ed82973c
26 changed files with 1885 additions and 1468 deletions

View File

@@ -7,25 +7,28 @@
#include <utils/commandline.h>
#include <utils/process.h>
#include <vterm.h>
#include <solutions/terminal/surfaceintegration.h>
#include <QTemporaryDir>
namespace Terminal {
class ShellIntegration : public QObject
class ShellIntegration : public QObject, public TerminalSolution::SurfaceIntegration
{
Q_OBJECT
public:
static bool canIntegrate(const Utils::CommandLine &cmdLine);
void onOsc(int cmd, const VTermStringFragment &fragment);
void onOsc(int cmd, std::string_view str, bool initial, bool final) override;
void onBell() override;
void onTitle(const QString &title) override;
void prepareProcess(Utils::Process &process);
signals:
void commandChanged(const Utils::CommandLine &command);
void currentDirChanged(const QString &dir);
void titleChanged(const QString &title);
private:
QTemporaryDir m_tempDir;