Complete Milestone 4 interactive SSH session UX

This commit is contained in:
2026-03-01 11:00:31 -07:00
parent 776ddc1a53
commit 2b25f805cd
4 changed files with 190 additions and 190 deletions
+8 -20
View File
@@ -6,13 +6,9 @@
#include <QWidget>
#include <QPointer>
#include <optional>
class QLabel;
class QComboBox;
class QPlainTextEdit;
class QPushButton;
class QThread;
class SessionBackend;
class TerminalView;
@@ -28,9 +24,16 @@ public:
~SessionTab() override;
QString tabTitle() const;
void connectSession();
void disconnectSession();
void reconnectSession();
void clearTerminal();
void setTerminalThemeName(const QString& themeName);
QString terminalThemeName() const;
signals:
void tabTitleChanged(const QString& title);
void tabStateChanged(SessionState state);
void requestConnect(const SessionConnectOptions& options);
void requestDisconnect();
void requestReconnect(const SessionConnectOptions& options);
@@ -39,12 +42,6 @@ signals:
void requestTerminalSize(int columns, int rows);
private slots:
void onConnectClicked();
void onDisconnectClicked();
void onReconnectClicked();
void onCopyErrorClicked();
void onClearTerminalClicked();
void onBackendStateChanged(SessionState state, const QString& message);
void onBackendEventLogged(const QString& message);
void onBackendConnectionError(const QString& displayMessage, const QString& rawMessage);
@@ -59,21 +56,12 @@ private:
SessionState m_state;
QString m_lastError;
SessionConnectOptions m_lastConnectOptions;
QString m_terminalThemeName;
QLabel* m_statusLabel;
QLabel* m_errorLabel;
KodoTerm* m_sshTerminal;
TerminalView* m_terminalOutput;
QPlainTextEdit* m_eventLog;
QPushButton* m_connectButton;
QPushButton* m_disconnectButton;
QPushButton* m_reconnectButton;
QPushButton* m_copyErrorButton;
QPushButton* m_clearTerminalButton;
QComboBox* m_themeSelector;
QToolButton* m_toggleDetailsButton;
QToolButton* m_toggleEventsButton;
QWidget* m_detailsPanel;
QWidget* m_eventsPanel;
void setupUi();