diff --git a/libs/hbb_common/protos/message.proto b/libs/hbb_common/protos/message.proto index e6536cf38..fe539ebd3 100644 --- a/libs/hbb_common/protos/message.proto +++ b/libs/hbb_common/protos/message.proto @@ -173,7 +173,8 @@ message KeyEvent { uint32 chr = 4; uint32 unicode = 5; string seq = 6; - } repeated ControlKey modifiers = 8; + }; + repeated ControlKey modifiers = 8; } message CursorData { diff --git a/src/client.rs b/src/client.rs index 39b56dde9..9089ba9e7 100644 --- a/src/client.rs +++ b/src/client.rs @@ -788,7 +788,9 @@ impl LoginConfigHandler { self.config.store(&self.id); return None; } - self.save_config(config); + if !name.contains("block-input") { + self.save_config(config); + } let mut misc = Misc::new(); misc.set_option(option); let mut msg_out = Message::new(); diff --git a/src/lang/cn.rs b/src/lang/cn.rs index 7a90ebf0b..a6a06b472 100644 --- a/src/lang/cn.rs +++ b/src/lang/cn.rs @@ -79,6 +79,8 @@ pub static ref T: std::collections::HashMap<&'static str, &'static str> = ("Finished", "完成"), ("Custom Image Quality", "设置画面质量"), ("Privacy mode", "隐私模式"), + ("Block user input", "阻止用户输入"), + ("Unblock user input", "取消阻止用户输入"), ("Adjust Window", "调节窗口"), ("Original", "原始比例"), ("Shrink", "收缩"), diff --git a/src/lang/fr.rs b/src/lang/fr.rs index 480d85469..5859575fa 100644 --- a/src/lang/fr.rs +++ b/src/lang/fr.rs @@ -79,6 +79,8 @@ pub static ref T: std::collections::HashMap<&'static str, &'static str> = ("Finished", "Terminé"), ("Custom Image Quality", "Définir la qualité d'image"), ("Privacy mode", "Mode privé"), + ("Block user input", "Bloquer la saisie de l'utilisateur"), + ("Unblock user input", "Débloquer l'entrée de l'utilisateur"), ("Adjust Window", "Ajuster la fenêtre"), ("Original", "Ratio d'origine"), ("Shrink", "Rétréci"), diff --git a/src/lang/it.rs b/src/lang/it.rs index 13b972f80..a47f527a6 100644 --- a/src/lang/it.rs +++ b/src/lang/it.rs @@ -79,6 +79,8 @@ lazy_static::lazy_static! { ("Finished", "Terminato"), ("Custom Image Quality", "Qualità immagine personalizzata"), ("Privacy mode", "Modalità privacy"), + ("Block user input", "Blocca l'input dell'utente"), + ("Unblock user input", "Sbloccare l'input dell'utente"), ("Adjust Window", "Adatta la finestra"), ("Original", "Originale"), ("Shrink", "Restringi"), diff --git a/src/ui/header.tis b/src/ui/header.tis index b7bd79393..be7502bde 100644 --- a/src/ui/header.tis +++ b/src/ui/header.tis @@ -130,7 +130,6 @@ class Header: Reactor.Component { {audio_enabled ?
  • {svg_checkmark}{translate('Mute')}
  • : ""} {keyboard_enabled && clipboard_enabled ?
  • {svg_checkmark}{translate('Disable clipboard')}
  • : ""} {keyboard_enabled ?
  • {svg_checkmark}{translate('Lock after session end')}
  • : ""} - {pi.platform == "Windows" ?
  • Block user input
  • : ""} {pi.platform == "Windows" ?
  • {svg_checkmark}{translate('Privacy mode')}
  • : ""} ; @@ -145,7 +144,7 @@ class Header: Reactor.Component { {keyboard_enabled && (pi.platform == "Linux" || pi.sas_enabled) ?
  • {translate('Insert')} Ctrl + Alt + Del
  • : ""}
    {keyboard_enabled ?
  • {translate('Insert Lock')}
  • : ""} - {false && pi.platform == "Windows" ?
  • Block user input
  • : ""} + {keyboard_enabled && pi.platform == "Windows" ?
  • {translate("Block user input")}
  • : ""} {handler.support_refresh() ?
  • {translate('Refresh')}
  • : ""} ; @@ -247,11 +246,11 @@ class Header: Reactor.Component { if (!input_blocked) { handler.toggle_option("block-input"); input_blocked = true; - $(#block-input).text = "Unblock user input"; + $(#block-input).text = translate("Unblock user input"); } else { handler.toggle_option("unblock-input"); input_blocked = false; - $(#block-input).text = "Block user input"; + $(#block-input).text = translate("Block user input"); } } @@ -303,7 +302,14 @@ function toggleMenuState() { for (var id in ["show-remote-cursor", "disable-audio", "disable-clipboard", "lock-after-session-end", "privacy-mode"]) { var el = self.select('#' + id); if (el) { - el.attributes.toggleClass("selected", handler.get_toggle_option(id)); + var value = handler.get_toggle_option(id); + el.attributes.toggleClass("selected", value); + if (id == "privacy-mode") { + var el = $(li#block-input); + if (el) { + el.state.disabled = value; + } + } } } }