From 8a3da687c10ee33428c86729a9a512a229a0275b Mon Sep 17 00:00:00 2001 From: rustdesk Date: Mon, 2 May 2022 02:44:16 +0800 Subject: [PATCH] help on mac permissons --- src/lang/cn.rs | 2 ++ src/lang/de.rs | 1 + src/lang/en.rs | 1 + src/lang/fr.rs | 1 + src/lang/it.rs | 1 + src/lang/ptbr.rs | 1 + src/lang/ru.rs | 1 + src/lang/tw.rs | 2 ++ src/ui/index.css | 5 +++++ src/ui/index.tis | 37 +++++++++++++++++++++++++++++++------ 10 files changed, 46 insertions(+), 6 deletions(-) diff --git a/src/lang/cn.rs b/src/lang/cn.rs index 776cd124d..04e334097 100644 --- a/src/lang/cn.rs +++ b/src/lang/cn.rs @@ -266,5 +266,7 @@ pub static ref T: std::collections::HashMap<&'static str, &'static str> = ("android_start_service_tip", "点击 [启动服务] 或打开 [屏幕录制] 权限开启手机屏幕共享服务。"), ("Account", "账号"), ("Quit", "退出"), + ("doc_mac_permission", "https://rustdesk.com/docs/zh-cn/manual/mac/#启用权限"), + ("Help", "帮助"), ].iter().cloned().collect(); } diff --git a/src/lang/de.rs b/src/lang/de.rs index d56b05747..16c79ef2a 100644 --- a/src/lang/de.rs +++ b/src/lang/de.rs @@ -266,5 +266,6 @@ pub static ref T: std::collections::HashMap<&'static str, &'static str> = ("android_start_service_tip", "Tippen Sie auf [Dienst starten] oder ÖFFNEN Sie die Berechtigung [Bildschirmaufnahme], um den Bildschirmfreigabedienst zu starten."), ("Account", "Konto"), ("Quit", "Ausgang"), + ("Help", "Hilfe"), ].iter().cloned().collect(); } diff --git a/src/lang/en.rs b/src/lang/en.rs index c7aa6a223..31b6cd2ee 100644 --- a/src/lang/en.rs +++ b/src/lang/en.rs @@ -24,5 +24,6 @@ pub static ref T: std::collections::HashMap<&'static str, &'static str> = ("android_stop_service_tip", "Closing the service will automatically close all established connections."), ("android_version_audio_tip", "The current Android version does not support audio capture, please upgrade to Android 10 or higher."), ("android_start_service_tip", "Tap [Start Service] or OPEN [Screen Capture] permission to start the screen sharing service."), + ("doc_mac_permission", "https://rustdesk.com/docs/en/manual/mac/#enable-permissions"), ].iter().cloned().collect(); } diff --git a/src/lang/fr.rs b/src/lang/fr.rs index c45c380a0..6fa9a1a59 100644 --- a/src/lang/fr.rs +++ b/src/lang/fr.rs @@ -266,5 +266,6 @@ pub static ref T: std::collections::HashMap<&'static str, &'static str> = ("android_start_service_tip", "Appuyez sur [Démarrer le service] ou sur l'autorisation OUVRIR [Capture d'écran] pour démarrer le service de partage d'écran."), ("Account", "Compte"), ("Quit", "Quitter"), + ("Help", "Aider"), ].iter().cloned().collect(); } diff --git a/src/lang/it.rs b/src/lang/it.rs index d170f439e..c2aba104f 100644 --- a/src/lang/it.rs +++ b/src/lang/it.rs @@ -266,5 +266,6 @@ pub static ref T: std::collections::HashMap<&'static str, &'static str> = ("android_start_service_tip", "Toccare [Avvia servizio] o APRI l'autorizzazione [Cattura schermo] per avviare il servizio di condivisione dello schermo."), ("Account", "Account"), ("Quit", "Esci"), + ("Help", "Aiuto"), ].iter().cloned().collect(); } diff --git a/src/lang/ptbr.rs b/src/lang/ptbr.rs index 3bcaf6e70..b69a2408a 100644 --- a/src/lang/ptbr.rs +++ b/src/lang/ptbr.rs @@ -266,5 +266,6 @@ pub static ref T: std::collections::HashMap<&'static str, &'static str> = ("android_start_service_tip", "Toque [Iniciar Serviço] ou ABRA a permissão [Captura de Tela] para iniciar o serviço de compartilhamento de tela."), ("Account", "Conta"), ("Quit", "Saída"), + ("Help", "Ajuda"), ].iter().cloned().collect(); } diff --git a/src/lang/ru.rs b/src/lang/ru.rs index a1e1333b4..bc66b55ac 100644 --- a/src/lang/ru.rs +++ b/src/lang/ru.rs @@ -266,5 +266,6 @@ pub static ref T: std::collections::HashMap<&'static str, &'static str> = ("android_start_service_tip", "Коснитесь [Запуск промежуточного сервера] или ОТКРЫТЬ разрешение [Скриншот], чтобы запустить службу демонстрации экрана."), ("Account", "Аккаунт"), ("Quit", "Выйти"), + ("Help", "Помощь"), ].iter().cloned().collect(); } diff --git a/src/lang/tw.rs b/src/lang/tw.rs index 4decdf657..c03c8629a 100644 --- a/src/lang/tw.rs +++ b/src/lang/tw.rs @@ -266,5 +266,7 @@ pub static ref T: std::collections::HashMap<&'static str, &'static str> = ("android_start_service_tip", "點擊 [啟動服務] 或打開 [屏幕錄製] 權限開啟手機屏幕共享服務。"), ("Account", "帳戶"), ("Quit", "退出"), + ("doc_mac_permission", "https://rustdesk.com/docs/zh-tw/manual/mac/#啟用權限"), + ("Help", "幫助"), ].iter().cloned().collect(); } diff --git a/src/ui/index.css b/src/ui/index.css index dc7b1c1ab..f0286c4ba 100644 --- a/src/ui/index.css +++ b/src/ui/index.css @@ -352,6 +352,11 @@ div.trust-me > div:nth-child(3) { font-weight: bold; } +div.trust-me > div:nth-child(4) { + margin-top: 0.5em; + text-align: center; +} + div#myid { position: relative; } diff --git a/src/ui/index.tis b/src/ui/index.tis index 4bb9fdae3..f5391b941 100644 --- a/src/ui/index.tis +++ b/src/ui/index.tis @@ -526,10 +526,11 @@ class SystemError: Reactor.Component { class TrustMe: Reactor.Component { function render() { - return
+ return
{translate('Permissions')}
{translate('config_acc')}
{translate('Configure')}
+
{translate('Help')}
; } @@ -537,20 +538,29 @@ class TrustMe: Reactor.Component { handler.is_process_trusted(true); watch_trust(); } + + event click $(#help-me) { + handler.open_url(translate("doc_mac_permission")); + } } class CanScreenRecording: Reactor.Component { function render() { - return
+ return
{translate('Permissions')}
{translate('config_screen')}
{translate('Configure')}
+
{translate('Help')}
; } event click $(#screen-recording) { handler.is_can_screen_recording(true); - watch_trust(); + watch_screen_recording(); + } + + event click $(#help-me) { + handler.open_url(translate("doc_mac_permission")); } } @@ -574,7 +584,7 @@ class FixWayland: Reactor.Component {
{translate('Warning')}
{translate('Login screen using Wayland is not supported')}
{translate('Fix it')}
-
({translate('Reboot required')})
+
({translate('Reboot required')})
; } @@ -590,7 +600,7 @@ class ModifyDefaultLogin: Reactor.Component {
{translate('Warning')}
{translate('Current Wayland display server is not supported')}
{translate('Fix it')}
-
({translate('Reboot required')})
+
({translate('Reboot required')})
; } @@ -605,7 +615,7 @@ class ModifyDefaultLogin: Reactor.Component { function watch_trust() { // not use TrustMe::update, because it is buggy var trusted = handler.is_process_trusted(false); - var el = $(div.trust-me); + var el = $(div#trust-me-box); if (el) { el.style.set { display: trusted ? "none" : "block", @@ -618,6 +628,21 @@ function watch_trust() { self.timer(1s, watch_trust); } +function watch_screen_recording() { + var trusted = handler.is_can_screen_recording(false); + var el = $(div#screen-recording-box); + if (el) { + el.style.set { + display: trusted ? "none" : "block", + }; + } + if (trusted) { + app.update(); + return; + } + self.timer(1s, watch_screen_recording); +} + class PasswordEyeArea : Reactor.Component { render() { return