Enable change id only when connected

This commit is contained in:
rustdesk 2023-06-26 22:05:27 +08:00
parent fe1d8b7c83
commit 0d658963e4
3 changed files with 7 additions and 2 deletions

View File

@ -519,7 +519,9 @@ class _SafetyState extends State<_Safety> with AutomaticKeepAliveClientMixin {
}
Widget changeId() {
return _Button('Change ID', changeIdDialog, enabled: !locked);
final serverModel = Provider.of<ServerModel>(context);
return _Button('Change ID', changeIdDialog,
enabled: !locked && serverModel.connectStatus > 0);
}
Widget permissions(context) {

View File

@ -25,8 +25,10 @@ class ServerPage extends StatefulWidget implements PageShape {
PopupMenuButton<String>(
icon: const Icon(Icons.more_vert),
itemBuilder: (context) {
final serverModel = Provider.of<ServerModel>(context);
return [
PopupMenuItem(
enabled: serverModel.connectStatus > 0,
padding: const EdgeInsets.symmetric(horizontal: 16.0),
value: "changeID",
child: Text(translate("Change ID")),

View File

@ -316,7 +316,7 @@ class MyIdMenu: Reactor.Component {
{username ?
<li #logout>{translate('Logout')} ({username})</li> :
<li #login>{translate('Login')}</li>}
{handler.is_ok_change_id() && key_confirmed ? <li #change-id>{translate('Change ID')}</li> : ""}
{handler.is_ok_change_id() && key_confirmed && connect_status > 0 ? <li #change-id>{translate('Change ID')}</li> : ""}
<div .separator />
<li #allow-darktheme><span>{svg_checkmark}</span>{translate('Dark Theme')}</li>
<Languages />
@ -1117,6 +1117,7 @@ function checkConnectStatus() {
if (tmp[0] != connect_status) {
connect_status = tmp[0];
app.connect_status.update();
myIdMenu.update();
}
if (tmp[1] != key_confirmed) {
key_confirmed = tmp[1];