rustdesk 2022-01-02 15:09:44 +08:00
parent 042114ae37
commit f0a6c706fa
3 changed files with 21 additions and 2 deletions

View File

@ -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();
}

View File

@ -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();

View File

@ -119,9 +119,11 @@ class SessionList: Reactor.Component {
<li #transfer>{translate('Transfer File')}</li>
<li #tunnel>{translate('TCP Tunneling')}</li>
<li #rdp>RDP<EditRdpPort /></li>
<div .separator />
<li #rename>{translate('Rename')}</li>
<li #remove>{translate('Remove')}</li>
{is_win && <li #shortcut>{translate('Create Desktop Shortcut')}</li>}
<li #forget-password>{translate('Unremember Password')}</li>
</menu>
</popup>
{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") {