From f0a6c706faa2fcde739e69499ec8300c5903e5b2 Mon Sep 17 00:00:00 2001 From: rustdesk Date: Sun, 2 Jan 2022 15:09:44 +0800 Subject: [PATCH] https://github.com/rustdesk/rustdesk/issues/275 --- src/lang/cn.rs | 1 + src/ui.rs | 13 ++++++++++++- src/ui/ab.tis | 9 ++++++++- 3 files changed, 21 insertions(+), 2 deletions(-) diff --git a/src/lang/cn.rs b/src/lang/cn.rs index 4e735ed34..81613a672 100644 --- a/src/lang/cn.rs +++ b/src/lang/cn.rs @@ -186,5 +186,6 @@ pub static ref T: std::collections::HashMap<&'static str, &'static str> = ("Password missed", "密码没有填写"), ("Wrong credentials", "用户名或者密码错误"), ("Edit Tag", "修改标签"), + ("Unremember Password", "忘掉密码"), ].iter().cloned().collect(); } diff --git a/src/ui.rs b/src/ui.rs index 47ee0caa7..355cf5b47 100644 --- a/src/ui.rs +++ b/src/ui.rs @@ -281,6 +281,16 @@ impl UI { Config::get_option(&key) } + fn peer_has_password(&self, id: String) -> bool { + !PeerConfig::load(&id).password.is_empty() + } + + fn forget_password(&self, id: String) { + let mut c = PeerConfig::load(&id); + c.password.clear(); + c.store(&id); + } + fn get_peer_option(&self, id: String, name: String) -> String { let c = PeerConfig::load(&id); c.options.get(&name).unwrap_or(&"".to_owned()).to_owned() @@ -569,7 +579,6 @@ impl UI { crate::client::translate(name) } - fn is_xfce(&self) -> bool { crate::platform::is_xfce() } @@ -609,6 +618,8 @@ impl sciter::EventHandler for UI { fn get_option(String); fn get_local_option(String); fn get_peer_option(String, String); + fn peer_has_password(String); + fn forget_password(String); fn set_peer_option(String, String, String); fn test_if_valid_server(String); fn get_sound_inputs(); diff --git a/src/ui/ab.tis b/src/ui/ab.tis index b6a54f3ab..2dfd525a7 100644 --- a/src/ui/ab.tis +++ b/src/ui/ab.tis @@ -119,9 +119,11 @@ class SessionList: Reactor.Component {
  • {translate('Transfer File')}
  • {translate('TCP Tunneling')}
  • RDP
  • +
  • {translate('Rename')}
  • {translate('Remove')}
  • {is_win &&
  • {translate('Create Desktop Shortcut')}
  • } +
  • {translate('Unremember Password')}
  • {sessions} @@ -169,9 +171,12 @@ class SessionList: Reactor.Component { event click $(#menu) (_, me) { var id = me.parent.parent.id; var platform = me.parent.parent.attributes["platform"]; - $(#rdp).style.set{ + this.$(#rdp).style.set{ display: (platform == "Windows" && is_win) ? "block" : "none", }; + this.$(#forget-password).style.set{ + display: handler.peer_has_password(id) ? "block" : "none", + }; // https://sciter.com/forums/topic/replacecustomize-context-menu/ var menu = this.$(menu#remote-context); menu.attributes["remote-id"] = id; @@ -190,6 +195,8 @@ class SessionList: Reactor.Component { handler.remove_peer(id); app.update(); } + } else if (action == "forget-password") { + handler.forget_password(id); } else if (action == "shortcut") { handler.create_shortcut(id); } else if (action == "rdp") {