Connect to KonsolePart's terminalExited() signal which fires when
the ssh process exits (clean exit, timeout, connection reset).
On exit, update status to Disconnected and emit disconnected().
Adds an SSH terminal plugin for KRDC that embeds KonsolePart
(Konsole's KPart terminal emulator) inside a RemoteView subclass.
The plugin registers the ssh:// URL scheme and launches ssh via
the TerminalInterface::startProgram() API.
Components:
- SshViewFactory: plugin factory handling ssh:// URLs
- SshView: RemoteView subclass embedding KonsolePart
- SshHostPreferences: configuration for username, identity file,
X11/agent forwarding, compression, and port forwarding tunnels
Key implementation details:
- KonsolePart loaded via KPluginFactory from kf6/parts/konsolepart
- ssh binary resolved via QStandardPaths::findExecutable()
- scaleResize() unconditionally calls resize() (KRDC's scroll area
does not use setWidgetResizable, relies on this slot)
- deleteLater() for KonsolePart teardown to avoid use-after-free
Build: standalone CMake project linking against krdccore and KF6::Parts.