mirror of
https://github.com/rustdesk/rustdesk.git
synced 2025-06-11 12:43:12 +08:00
when connecting with ab, if recent peer's alias is empty, set it to ab's alias
Signed-off-by: 21pages <pages21@163.com>
This commit is contained in:
parent
24e6b54650
commit
a7163c6a04
@ -27,11 +27,13 @@ final peerCardUiType = PeerUiType.grid.obs;
|
|||||||
|
|
||||||
class _PeerCard extends StatefulWidget {
|
class _PeerCard extends StatefulWidget {
|
||||||
final Peer peer;
|
final Peer peer;
|
||||||
|
final PeerTabIndex tab;
|
||||||
final Function(BuildContext, String) connect;
|
final Function(BuildContext, String) connect;
|
||||||
final PopupMenuEntryBuilder popupMenuEntryBuilder;
|
final PopupMenuEntryBuilder popupMenuEntryBuilder;
|
||||||
|
|
||||||
const _PeerCard(
|
const _PeerCard(
|
||||||
{required this.peer,
|
{required this.peer,
|
||||||
|
required this.tab,
|
||||||
required this.connect,
|
required this.connect,
|
||||||
required this.popupMenuEntryBuilder,
|
required this.popupMenuEntryBuilder,
|
||||||
Key? key})
|
Key? key})
|
||||||
@ -71,10 +73,14 @@ class _PeerCardState extends State<_PeerCard>
|
|||||||
if (peerTabModel.multiSelectionMode) {
|
if (peerTabModel.multiSelectionMode) {
|
||||||
peerTabModel.select(peer);
|
peerTabModel.select(peer);
|
||||||
} else {
|
} else {
|
||||||
if (!isWebDesktop) connect(context, peer.id);
|
if (!isWebDesktop) {
|
||||||
|
connectInPeerTab(context, peer.id, widget.tab);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
onDoubleTap: isWebDesktop ? () => connect(context, peer.id) : null,
|
onDoubleTap: isWebDesktop
|
||||||
|
? () => connectInPeerTab(context, peer.id, widget.tab)
|
||||||
|
: null,
|
||||||
onLongPress: () {
|
onLongPress: () {
|
||||||
peerTabModel.select(peer);
|
peerTabModel.select(peer);
|
||||||
},
|
},
|
||||||
@ -443,7 +449,9 @@ abstract class BasePeerCard extends StatelessWidget {
|
|||||||
Widget build(BuildContext context) {
|
Widget build(BuildContext context) {
|
||||||
return _PeerCard(
|
return _PeerCard(
|
||||||
peer: peer,
|
peer: peer,
|
||||||
connect: (BuildContext context, String id) => connect(context, id),
|
tab: tab,
|
||||||
|
connect: (BuildContext context, String id) =>
|
||||||
|
connectInPeerTab(context, id, tab),
|
||||||
popupMenuEntryBuilder: _buildPopupMenuEntry,
|
popupMenuEntryBuilder: _buildPopupMenuEntry,
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
@ -477,9 +485,10 @@ abstract class BasePeerCard extends StatelessWidget {
|
|||||||
style: style,
|
style: style,
|
||||||
),
|
),
|
||||||
proc: () {
|
proc: () {
|
||||||
connect(
|
connectInPeerTab(
|
||||||
context,
|
context,
|
||||||
peer.id,
|
peer.id,
|
||||||
|
tab,
|
||||||
isFileTransfer: isFileTransfer,
|
isFileTransfer: isFileTransfer,
|
||||||
isTcpTunneling: isTcpTunneling,
|
isTcpTunneling: isTcpTunneling,
|
||||||
isRDP: isRDP,
|
isRDP: isRDP,
|
||||||
@ -552,7 +561,7 @@ abstract class BasePeerCard extends StatelessWidget {
|
|||||||
],
|
],
|
||||||
)),
|
)),
|
||||||
proc: () {
|
proc: () {
|
||||||
connect(context, id, isRDP: true);
|
connectInPeerTab(context, id, tab, isRDP: true);
|
||||||
},
|
},
|
||||||
padding: menuPadding,
|
padding: menuPadding,
|
||||||
dismissOnClicked: true,
|
dismissOnClicked: true,
|
||||||
@ -1309,3 +1318,26 @@ class TagPainter extends CustomPainter {
|
|||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void connectInPeerTab(BuildContext context, String id, PeerTabIndex tab,
|
||||||
|
{bool isFileTransfer = false,
|
||||||
|
bool isTcpTunneling = false,
|
||||||
|
bool isRDP = false}) async {
|
||||||
|
if (tab == PeerTabIndex.ab) {
|
||||||
|
// If recent peer's alias is empty, set it to ab's alias
|
||||||
|
// Because the platform is not set, it may not take effect, but it is more important not to display if the connection is not successful
|
||||||
|
Peer? p = gFFI.abModel.find(id);
|
||||||
|
if (p != null &&
|
||||||
|
p.alias.isNotEmpty &&
|
||||||
|
(await bind.mainGetPeerOption(id: id, key: "alias")).isEmpty) {
|
||||||
|
await bind.mainSetPeerAlias(
|
||||||
|
id: id,
|
||||||
|
alias: p.alias,
|
||||||
|
);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
connect(context, id,
|
||||||
|
isFileTransfer: isFileTransfer,
|
||||||
|
isTcpTunneling: isTcpTunneling,
|
||||||
|
isRDP: isRDP);
|
||||||
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user