This commit is contained in:
rustdesk 2024-07-25 15:21:28 +08:00
parent baf70da2fe
commit bbdce8d57b
45 changed files with 677 additions and 641 deletions

@ -130,12 +130,9 @@ List<TTextMenu> toolbarControls(BuildContext context, String id, FFI ffi) {
); );
} }
// paste // paste
if (isMobile && if (pi.platform != kPeerPlatformAndroid && perms['keyboard'] != false) {
pi.platform != kPeerPlatformAndroid &&
perms['keyboard'] != false &&
perms['clipboard'] != false) {
v.add(TTextMenu( v.add(TTextMenu(
child: Text(translate('Paste')), child: Text(translate('Send clipboard keystrokes')),
onPressed: () async { onPressed: () async {
ClipboardData? data = await Clipboard.getData(Clipboard.kTextPlain); ClipboardData? data = await Clipboard.getData(Clipboard.kTextPlain);
if (data != null && data.text != null) { if (data != null && data.text != null) {

@ -630,5 +630,6 @@ pub static ref T: std::collections::HashMap<&'static str, &'static str> =
("cancel-2fa-confirm-tip", ""), ("cancel-2fa-confirm-tip", ""),
("cancel-bot-confirm-tip", ""), ("cancel-bot-confirm-tip", ""),
("About RustDesk", ""), ("About RustDesk", ""),
("Send clipboard keystrokes", ""),
].iter().cloned().collect(); ].iter().cloned().collect();
} }

@ -630,5 +630,6 @@ pub static ref T: std::collections::HashMap<&'static str, &'static str> =
("cancel-2fa-confirm-tip", ""), ("cancel-2fa-confirm-tip", ""),
("cancel-bot-confirm-tip", ""), ("cancel-bot-confirm-tip", ""),
("About RustDesk", ""), ("About RustDesk", ""),
("Send clipboard keystrokes", ""),
].iter().cloned().collect(); ].iter().cloned().collect();
} }

@ -630,5 +630,6 @@ pub static ref T: std::collections::HashMap<&'static str, &'static str> =
("cancel-2fa-confirm-tip", ""), ("cancel-2fa-confirm-tip", ""),
("cancel-bot-confirm-tip", ""), ("cancel-bot-confirm-tip", ""),
("About RustDesk", ""), ("About RustDesk", ""),
("Send clipboard keystrokes", ""),
].iter().cloned().collect(); ].iter().cloned().collect();
} }

@ -630,5 +630,6 @@ pub static ref T: std::collections::HashMap<&'static str, &'static str> =
("cancel-2fa-confirm-tip", ""), ("cancel-2fa-confirm-tip", ""),
("cancel-bot-confirm-tip", ""), ("cancel-bot-confirm-tip", ""),
("About RustDesk", ""), ("About RustDesk", ""),
("Send clipboard keystrokes", ""),
].iter().cloned().collect(); ].iter().cloned().collect();
} }

@ -630,5 +630,6 @@ pub static ref T: std::collections::HashMap<&'static str, &'static str> =
("cancel-2fa-confirm-tip", "确定要取消双重认证吗?"), ("cancel-2fa-confirm-tip", "确定要取消双重认证吗?"),
("cancel-bot-confirm-tip", "确定要取消 Telegram 机器人吗?"), ("cancel-bot-confirm-tip", "确定要取消 Telegram 机器人吗?"),
("About RustDesk", ""), ("About RustDesk", ""),
("Send clipboard keystrokes", ""),
].iter().cloned().collect(); ].iter().cloned().collect();
} }

@ -630,5 +630,6 @@ pub static ref T: std::collections::HashMap<&'static str, &'static str> =
("cancel-2fa-confirm-tip", "Jste si jisti, že chcete zrušit 2FA?"), ("cancel-2fa-confirm-tip", "Jste si jisti, že chcete zrušit 2FA?"),
("cancel-bot-confirm-tip", "Jste si jisti, že chcete zrušit bota Telegramu?"), ("cancel-bot-confirm-tip", "Jste si jisti, že chcete zrušit bota Telegramu?"),
("About RustDesk", ""), ("About RustDesk", ""),
("Send clipboard keystrokes", ""),
].iter().cloned().collect(); ].iter().cloned().collect();
} }

@ -630,5 +630,6 @@ pub static ref T: std::collections::HashMap<&'static str, &'static str> =
("cancel-2fa-confirm-tip", ""), ("cancel-2fa-confirm-tip", ""),
("cancel-bot-confirm-tip", ""), ("cancel-bot-confirm-tip", ""),
("About RustDesk", ""), ("About RustDesk", ""),
("Send clipboard keystrokes", ""),
].iter().cloned().collect(); ].iter().cloned().collect();
} }

@ -630,5 +630,6 @@ pub static ref T: std::collections::HashMap<&'static str, &'static str> =
("cancel-2fa-confirm-tip", "Sind Sie sicher, dass Sie 2FA abbrechen möchten?"), ("cancel-2fa-confirm-tip", "Sind Sie sicher, dass Sie 2FA abbrechen möchten?"),
("cancel-bot-confirm-tip", "Sind Sie sicher, dass Sie Telegram-Bot abbrechen möchten?"), ("cancel-bot-confirm-tip", "Sind Sie sicher, dass Sie Telegram-Bot abbrechen möchten?"),
("About RustDesk", "Über RustDesk"), ("About RustDesk", "Über RustDesk"),
("Send clipboard keystrokes", ""),
].iter().cloned().collect(); ].iter().cloned().collect();
} }

@ -630,5 +630,6 @@ pub static ref T: std::collections::HashMap<&'static str, &'static str> =
("cancel-2fa-confirm-tip", "Είστε βέβαιοι ότι θέλετε να ακυρώσετε το 2FA;"), ("cancel-2fa-confirm-tip", "Είστε βέβαιοι ότι θέλετε να ακυρώσετε το 2FA;"),
("cancel-bot-confirm-tip", "Είστε βέβαιοι ότι θέλετε να ακυρώσετε το Telegram bot;"), ("cancel-bot-confirm-tip", "Είστε βέβαιοι ότι θέλετε να ακυρώσετε το Telegram bot;"),
("About RustDesk", ""), ("About RustDesk", ""),
("Send clipboard keystrokes", ""),
].iter().cloned().collect(); ].iter().cloned().collect();
} }

@ -630,5 +630,6 @@ pub static ref T: std::collections::HashMap<&'static str, &'static str> =
("cancel-2fa-confirm-tip", ""), ("cancel-2fa-confirm-tip", ""),
("cancel-bot-confirm-tip", ""), ("cancel-bot-confirm-tip", ""),
("About RustDesk", ""), ("About RustDesk", ""),
("Send clipboard keystrokes", ""),
].iter().cloned().collect(); ].iter().cloned().collect();
} }

@ -630,5 +630,6 @@ pub static ref T: std::collections::HashMap<&'static str, &'static str> =
("cancel-2fa-confirm-tip", "¿Seguro que quieres cancelar 2FA?"), ("cancel-2fa-confirm-tip", "¿Seguro que quieres cancelar 2FA?"),
("cancel-bot-confirm-tip", "¿Seguro que quieres cancelar el bot de Telegram?"), ("cancel-bot-confirm-tip", "¿Seguro que quieres cancelar el bot de Telegram?"),
("About RustDesk", ""), ("About RustDesk", ""),
("Send clipboard keystrokes", ""),
].iter().cloned().collect(); ].iter().cloned().collect();
} }

@ -630,5 +630,6 @@ pub static ref T: std::collections::HashMap<&'static str, &'static str> =
("cancel-2fa-confirm-tip", ""), ("cancel-2fa-confirm-tip", ""),
("cancel-bot-confirm-tip", ""), ("cancel-bot-confirm-tip", ""),
("About RustDesk", ""), ("About RustDesk", ""),
("Send clipboard keystrokes", ""),
].iter().cloned().collect(); ].iter().cloned().collect();
} }

File diff suppressed because it is too large Load Diff

@ -630,5 +630,6 @@ pub static ref T: std::collections::HashMap<&'static str, &'static str> =
("cancel-2fa-confirm-tip", ""), ("cancel-2fa-confirm-tip", ""),
("cancel-bot-confirm-tip", ""), ("cancel-bot-confirm-tip", ""),
("About RustDesk", ""), ("About RustDesk", ""),
("Send clipboard keystrokes", ""),
].iter().cloned().collect(); ].iter().cloned().collect();
} }

@ -630,5 +630,6 @@ pub static ref T: std::collections::HashMap<&'static str, &'static str> =
("cancel-2fa-confirm-tip", ""), ("cancel-2fa-confirm-tip", ""),
("cancel-bot-confirm-tip", ""), ("cancel-bot-confirm-tip", ""),
("About RustDesk", ""), ("About RustDesk", ""),
("Send clipboard keystrokes", ""),
].iter().cloned().collect(); ].iter().cloned().collect();
} }

@ -630,5 +630,6 @@ pub static ref T: std::collections::HashMap<&'static str, &'static str> =
("cancel-2fa-confirm-tip", ""), ("cancel-2fa-confirm-tip", ""),
("cancel-bot-confirm-tip", ""), ("cancel-bot-confirm-tip", ""),
("About RustDesk", ""), ("About RustDesk", ""),
("Send clipboard keystrokes", ""),
].iter().cloned().collect(); ].iter().cloned().collect();
} }

@ -630,5 +630,6 @@ pub static ref T: std::collections::HashMap<&'static str, &'static str> =
("cancel-2fa-confirm-tip", ""), ("cancel-2fa-confirm-tip", ""),
("cancel-bot-confirm-tip", ""), ("cancel-bot-confirm-tip", ""),
("About RustDesk", ""), ("About RustDesk", ""),
("Send clipboard keystrokes", ""),
].iter().cloned().collect(); ].iter().cloned().collect();
} }

@ -630,5 +630,6 @@ pub static ref T: std::collections::HashMap<&'static str, &'static str> =
("cancel-2fa-confirm-tip", ""), ("cancel-2fa-confirm-tip", ""),
("cancel-bot-confirm-tip", ""), ("cancel-bot-confirm-tip", ""),
("About RustDesk", ""), ("About RustDesk", ""),
("Send clipboard keystrokes", ""),
].iter().cloned().collect(); ].iter().cloned().collect();
} }

@ -630,5 +630,6 @@ pub static ref T: std::collections::HashMap<&'static str, &'static str> =
("cancel-2fa-confirm-tip", ""), ("cancel-2fa-confirm-tip", ""),
("cancel-bot-confirm-tip", ""), ("cancel-bot-confirm-tip", ""),
("About RustDesk", ""), ("About RustDesk", ""),
("Send clipboard keystrokes", ""),
].iter().cloned().collect(); ].iter().cloned().collect();
} }

@ -630,5 +630,6 @@ pub static ref T: std::collections::HashMap<&'static str, &'static str> =
("cancel-2fa-confirm-tip", "Sei sicuro di voler annullare 2FA?"), ("cancel-2fa-confirm-tip", "Sei sicuro di voler annullare 2FA?"),
("cancel-bot-confirm-tip", "Sei sicuro di voler annulare Telegram?"), ("cancel-bot-confirm-tip", "Sei sicuro di voler annulare Telegram?"),
("About RustDesk", "Info su RustDesk"), ("About RustDesk", "Info su RustDesk"),
("Send clipboard keystrokes", ""),
].iter().cloned().collect(); ].iter().cloned().collect();
} }

@ -630,6 +630,6 @@ pub static ref T: std::collections::HashMap<&'static str, &'static str> =
("cancel-2fa-confirm-tip", "本当に二要素認証をキャンセルしますか?"), ("cancel-2fa-confirm-tip", "本当に二要素認証をキャンセルしますか?"),
("cancel-bot-confirm-tip", "本当にTelegram Botをキャンセルしますか"), ("cancel-bot-confirm-tip", "本当にTelegram Botをキャンセルしますか"),
("About RustDesk", "RustDeskについて"), ("About RustDesk", "RustDeskについて"),
("Send clipboard keystrokes", ""),
].iter().cloned().collect(); ].iter().cloned().collect();
} }

@ -630,5 +630,6 @@ pub static ref T: std::collections::HashMap<&'static str, &'static str> =
("cancel-2fa-confirm-tip", ""), ("cancel-2fa-confirm-tip", ""),
("cancel-bot-confirm-tip", ""), ("cancel-bot-confirm-tip", ""),
("About RustDesk", ""), ("About RustDesk", ""),
("Send clipboard keystrokes", ""),
].iter().cloned().collect(); ].iter().cloned().collect();
} }

@ -630,5 +630,6 @@ pub static ref T: std::collections::HashMap<&'static str, &'static str> =
("cancel-2fa-confirm-tip", ""), ("cancel-2fa-confirm-tip", ""),
("cancel-bot-confirm-tip", ""), ("cancel-bot-confirm-tip", ""),
("About RustDesk", ""), ("About RustDesk", ""),
("Send clipboard keystrokes", ""),
].iter().cloned().collect(); ].iter().cloned().collect();
} }

@ -630,5 +630,6 @@ pub static ref T: std::collections::HashMap<&'static str, &'static str> =
("cancel-2fa-confirm-tip", ""), ("cancel-2fa-confirm-tip", ""),
("cancel-bot-confirm-tip", ""), ("cancel-bot-confirm-tip", ""),
("About RustDesk", ""), ("About RustDesk", ""),
("Send clipboard keystrokes", ""),
].iter().cloned().collect(); ].iter().cloned().collect();
} }

@ -630,5 +630,6 @@ pub static ref T: std::collections::HashMap<&'static str, &'static str> =
("cancel-2fa-confirm-tip", "Vai tiešām vēlaties atcelt 2FA?"), ("cancel-2fa-confirm-tip", "Vai tiešām vēlaties atcelt 2FA?"),
("cancel-bot-confirm-tip", "Vai tiešām vēlaties atcelt Telegram robotu?"), ("cancel-bot-confirm-tip", "Vai tiešām vēlaties atcelt Telegram robotu?"),
("About RustDesk", ""), ("About RustDesk", ""),
("Send clipboard keystrokes", ""),
].iter().cloned().collect(); ].iter().cloned().collect();
} }

@ -630,5 +630,6 @@ pub static ref T: std::collections::HashMap<&'static str, &'static str> =
("cancel-2fa-confirm-tip", ""), ("cancel-2fa-confirm-tip", ""),
("cancel-bot-confirm-tip", ""), ("cancel-bot-confirm-tip", ""),
("About RustDesk", ""), ("About RustDesk", ""),
("Send clipboard keystrokes", ""),
].iter().cloned().collect(); ].iter().cloned().collect();
} }

@ -630,5 +630,6 @@ pub static ref T: std::collections::HashMap<&'static str, &'static str> =
("cancel-2fa-confirm-tip", "Weet je zeker dat je 2FA wilt annuleren?"), ("cancel-2fa-confirm-tip", "Weet je zeker dat je 2FA wilt annuleren?"),
("cancel-bot-confirm-tip", "Weet je zeker dat je de Telegram-bot wilt annuleren?"), ("cancel-bot-confirm-tip", "Weet je zeker dat je de Telegram-bot wilt annuleren?"),
("About RustDesk", ""), ("About RustDesk", ""),
("Send clipboard keystrokes", ""),
].iter().cloned().collect(); ].iter().cloned().collect();
} }

@ -630,5 +630,6 @@ pub static ref T: std::collections::HashMap<&'static str, &'static str> =
("cancel-2fa-confirm-tip", ""), ("cancel-2fa-confirm-tip", ""),
("cancel-bot-confirm-tip", ""), ("cancel-bot-confirm-tip", ""),
("About RustDesk", ""), ("About RustDesk", ""),
("Send clipboard keystrokes", ""),
].iter().cloned().collect(); ].iter().cloned().collect();
} }

@ -630,5 +630,6 @@ pub static ref T: std::collections::HashMap<&'static str, &'static str> =
("cancel-2fa-confirm-tip", ""), ("cancel-2fa-confirm-tip", ""),
("cancel-bot-confirm-tip", ""), ("cancel-bot-confirm-tip", ""),
("About RustDesk", ""), ("About RustDesk", ""),
("Send clipboard keystrokes", ""),
].iter().cloned().collect(); ].iter().cloned().collect();
} }

@ -630,5 +630,6 @@ pub static ref T: std::collections::HashMap<&'static str, &'static str> =
("cancel-2fa-confirm-tip", ""), ("cancel-2fa-confirm-tip", ""),
("cancel-bot-confirm-tip", ""), ("cancel-bot-confirm-tip", ""),
("About RustDesk", ""), ("About RustDesk", ""),
("Send clipboard keystrokes", ""),
].iter().cloned().collect(); ].iter().cloned().collect();
} }

@ -630,5 +630,6 @@ pub static ref T: std::collections::HashMap<&'static str, &'static str> =
("cancel-2fa-confirm-tip", ""), ("cancel-2fa-confirm-tip", ""),
("cancel-bot-confirm-tip", ""), ("cancel-bot-confirm-tip", ""),
("About RustDesk", ""), ("About RustDesk", ""),
("Send clipboard keystrokes", ""),
].iter().cloned().collect(); ].iter().cloned().collect();
} }

@ -630,5 +630,6 @@ pub static ref T: std::collections::HashMap<&'static str, &'static str> =
("cancel-2fa-confirm-tip", "Отключить двухфакторную аутентификацию?"), ("cancel-2fa-confirm-tip", "Отключить двухфакторную аутентификацию?"),
("cancel-bot-confirm-tip", "Отключить Telegram-бота?"), ("cancel-bot-confirm-tip", "Отключить Telegram-бота?"),
("About RustDesk", ""), ("About RustDesk", ""),
("Send clipboard keystrokes", ""),
].iter().cloned().collect(); ].iter().cloned().collect();
} }

@ -630,5 +630,6 @@ pub static ref T: std::collections::HashMap<&'static str, &'static str> =
("cancel-2fa-confirm-tip", "Ste si istí, že chcete zrušiť službu 2FA?"), ("cancel-2fa-confirm-tip", "Ste si istí, že chcete zrušiť službu 2FA?"),
("cancel-bot-confirm-tip", "Ste si istí, že chcete zrušiť bota Telegramu?"), ("cancel-bot-confirm-tip", "Ste si istí, že chcete zrušiť bota Telegramu?"),
("About RustDesk", ""), ("About RustDesk", ""),
("Send clipboard keystrokes", ""),
].iter().cloned().collect(); ].iter().cloned().collect();
} }

@ -630,5 +630,6 @@ pub static ref T: std::collections::HashMap<&'static str, &'static str> =
("cancel-2fa-confirm-tip", ""), ("cancel-2fa-confirm-tip", ""),
("cancel-bot-confirm-tip", ""), ("cancel-bot-confirm-tip", ""),
("About RustDesk", ""), ("About RustDesk", ""),
("Send clipboard keystrokes", ""),
].iter().cloned().collect(); ].iter().cloned().collect();
} }

@ -630,5 +630,6 @@ pub static ref T: std::collections::HashMap<&'static str, &'static str> =
("cancel-2fa-confirm-tip", ""), ("cancel-2fa-confirm-tip", ""),
("cancel-bot-confirm-tip", ""), ("cancel-bot-confirm-tip", ""),
("About RustDesk", ""), ("About RustDesk", ""),
("Send clipboard keystrokes", ""),
].iter().cloned().collect(); ].iter().cloned().collect();
} }

@ -630,5 +630,6 @@ pub static ref T: std::collections::HashMap<&'static str, &'static str> =
("cancel-2fa-confirm-tip", ""), ("cancel-2fa-confirm-tip", ""),
("cancel-bot-confirm-tip", ""), ("cancel-bot-confirm-tip", ""),
("About RustDesk", ""), ("About RustDesk", ""),
("Send clipboard keystrokes", ""),
].iter().cloned().collect(); ].iter().cloned().collect();
} }

@ -630,5 +630,6 @@ pub static ref T: std::collections::HashMap<&'static str, &'static str> =
("cancel-2fa-confirm-tip", ""), ("cancel-2fa-confirm-tip", ""),
("cancel-bot-confirm-tip", ""), ("cancel-bot-confirm-tip", ""),
("About RustDesk", ""), ("About RustDesk", ""),
("Send clipboard keystrokes", ""),
].iter().cloned().collect(); ].iter().cloned().collect();
} }

@ -630,5 +630,6 @@ pub static ref T: std::collections::HashMap<&'static str, &'static str> =
("cancel-2fa-confirm-tip", ""), ("cancel-2fa-confirm-tip", ""),
("cancel-bot-confirm-tip", ""), ("cancel-bot-confirm-tip", ""),
("About RustDesk", ""), ("About RustDesk", ""),
("Send clipboard keystrokes", ""),
].iter().cloned().collect(); ].iter().cloned().collect();
} }

@ -630,5 +630,6 @@ pub static ref T: std::collections::HashMap<&'static str, &'static str> =
("cancel-2fa-confirm-tip", ""), ("cancel-2fa-confirm-tip", ""),
("cancel-bot-confirm-tip", ""), ("cancel-bot-confirm-tip", ""),
("About RustDesk", ""), ("About RustDesk", ""),
("Send clipboard keystrokes", ""),
].iter().cloned().collect(); ].iter().cloned().collect();
} }

@ -630,5 +630,6 @@ pub static ref T: std::collections::HashMap<&'static str, &'static str> =
("cancel-2fa-confirm-tip", ""), ("cancel-2fa-confirm-tip", ""),
("cancel-bot-confirm-tip", ""), ("cancel-bot-confirm-tip", ""),
("About RustDesk", ""), ("About RustDesk", ""),
("Send clipboard keystrokes", ""),
].iter().cloned().collect(); ].iter().cloned().collect();
} }

@ -630,5 +630,6 @@ pub static ref T: std::collections::HashMap<&'static str, &'static str> =
("cancel-2fa-confirm-tip", "確定要取消二步驟驗證嗎?"), ("cancel-2fa-confirm-tip", "確定要取消二步驟驗證嗎?"),
("cancel-bot-confirm-tip", "確定要取消 Telegram 機器人嗎?"), ("cancel-bot-confirm-tip", "確定要取消 Telegram 機器人嗎?"),
("About RustDesk", ""), ("About RustDesk", ""),
("Send clipboard keystrokes", ""),
].iter().cloned().collect(); ].iter().cloned().collect();
} }

@ -630,5 +630,6 @@ pub static ref T: std::collections::HashMap<&'static str, &'static str> =
("cancel-2fa-confirm-tip", ""), ("cancel-2fa-confirm-tip", ""),
("cancel-bot-confirm-tip", ""), ("cancel-bot-confirm-tip", ""),
("About RustDesk", ""), ("About RustDesk", ""),
("Send clipboard keystrokes", ""),
].iter().cloned().collect(); ].iter().cloned().collect();
} }

@ -630,5 +630,6 @@ pub static ref T: std::collections::HashMap<&'static str, &'static str> =
("cancel-2fa-confirm-tip", ""), ("cancel-2fa-confirm-tip", ""),
("cancel-bot-confirm-tip", ""), ("cancel-bot-confirm-tip", ""),
("About RustDesk", ""), ("About RustDesk", ""),
("Send clipboard keystrokes", ""),
].iter().cloned().collect(); ].iter().cloned().collect();
} }

@ -779,7 +779,6 @@ impl<T: InvokeUiSession> Session<T> {
} }
} }
// flutter only TODO new input
pub fn input_string(&self, value: &str) { pub fn input_string(&self, value: &str) {
let mut key_event = KeyEvent::new(); let mut key_event = KeyEvent::new();
key_event.set_seq(value.to_owned()); key_event.set_seq(value.to_owned());