mirror of
https://github.com/rustdesk/rustdesk.git
synced 2026-09-14 08:21:02 +03:00
connection page: the Connect menu offers TCP tunneling, as the peer card does (#16075)
The dropdown beside Connect listed file transfer, camera and terminal but not port forwarding, so reaching it meant having a card for the peer. `connect` already takes `isTcpTunneling`; only the menu entry and the parameter that carries it were missing. Shown on desktop only. The peer card gates the same entry on `isDesktop` because `connect` routes a tunnel through the desktop path alone; on web it would have opened a plain remote session instead. Claude-Session: https://claude.ai/code/session_01EZ49AbZJYfm8NTp5yDPMab Co-authored-by: Claude Opus 5 <noreply@anthropic.com>
This commit is contained in:
@@ -330,12 +330,14 @@ class _ConnectionPageState extends State<ConnectionPage>
|
|||||||
void onConnect(
|
void onConnect(
|
||||||
{bool isFileTransfer = false,
|
{bool isFileTransfer = false,
|
||||||
bool isViewCamera = false,
|
bool isViewCamera = false,
|
||||||
bool isTerminal = false}) {
|
bool isTerminal = false,
|
||||||
|
bool isTcpTunneling = false}) {
|
||||||
var id = _idController.id;
|
var id = _idController.id;
|
||||||
connect(context, id,
|
connect(context, id,
|
||||||
isFileTransfer: isFileTransfer,
|
isFileTransfer: isFileTransfer,
|
||||||
isViewCamera: isViewCamera,
|
isViewCamera: isViewCamera,
|
||||||
isTerminal: isTerminal);
|
isTerminal: isTerminal,
|
||||||
|
isTcpTunneling: isTcpTunneling);
|
||||||
}
|
}
|
||||||
|
|
||||||
/// UI for the remote ID TextField.
|
/// UI for the remote ID TextField.
|
||||||
@@ -568,6 +570,14 @@ class _ConnectionPageState extends State<ConnectionPage>
|
|||||||
'${translate('Terminal')} (beta)',
|
'${translate('Terminal')} (beta)',
|
||||||
() => onConnect(isTerminal: true)
|
() => onConnect(isTerminal: true)
|
||||||
),
|
),
|
||||||
|
// `connect` routes this through the
|
||||||
|
// desktop path only; the peer card gates
|
||||||
|
// it the same way.
|
||||||
|
if (isDesktop)
|
||||||
|
(
|
||||||
|
'TCP tunneling',
|
||||||
|
() => onConnect(isTcpTunneling: true)
|
||||||
|
),
|
||||||
]
|
]
|
||||||
.map((e) => MenuEntryButton<String>(
|
.map((e) => MenuEntryButton<String>(
|
||||||
childBuilder: (TextStyle? style) =>
|
childBuilder: (TextStyle? style) =>
|
||||||
|
|||||||
Reference in New Issue
Block a user