Start Milestone 4 interactive SSH terminal and host-key flow

This commit is contained in:
2026-03-01 09:50:03 -07:00
parent 3c158269bf
commit 2ea712db36
10 changed files with 245 additions and 132 deletions
+11
View File
@@ -9,6 +9,7 @@
#include <optional>
class QLabel;
class QLineEdit;
class QPlainTextEdit;
class QPushButton;
class QThread;
@@ -29,16 +30,22 @@ signals:
void requestConnect(const SessionConnectOptions& options);
void requestDisconnect();
void requestReconnect(const SessionConnectOptions& options);
void requestInput(const QString& input);
void requestHostKeyConfirmation(bool trustHost);
private slots:
void onConnectClicked();
void onDisconnectClicked();
void onReconnectClicked();
void onCopyErrorClicked();
void onSendInputClicked();
void onClearTerminalClicked();
void onBackendStateChanged(SessionState state, const QString& message);
void onBackendEventLogged(const QString& message);
void onBackendConnectionError(const QString& displayMessage, const QString& rawMessage);
void onBackendOutputReceived(const QString& text);
void onBackendHostKeyConfirmationRequested(const QString& prompt);
private:
Profile m_profile;
@@ -49,11 +56,15 @@ private:
QLabel* m_statusLabel;
QLabel* m_errorLabel;
QPlainTextEdit* m_terminalOutput;
QLineEdit* m_terminalInput;
QPlainTextEdit* m_eventLog;
QPushButton* m_connectButton;
QPushButton* m_disconnectButton;
QPushButton* m_reconnectButton;
QPushButton* m_copyErrorButton;
QPushButton* m_sendInputButton;
QPushButton* m_clearTerminalButton;
void setupUi();
std::optional<SessionConnectOptions> buildConnectOptions();