feat: clipboard, multi formats (#8733)

Signed-off-by: fufesou <linlong1266@gmail.com>
This commit is contained in:
fufesou
2024-07-28 17:26:54 +08:00
committed by GitHub
parent 8c91e5c5ca
commit 541d9c6b86
20 changed files with 622 additions and 653 deletions

View File

@@ -1256,6 +1256,19 @@ pub fn update_text_clipboard_required() {
pub fn send_text_clipboard_msg(msg: Message) {
for s in sessions::get_sessions() {
if s.is_text_clipboard_required() {
// Check if the client supports multi clipboards
if let Some(message::Union::MultiClipboards(multi_clipboards)) = &msg.union {
let version = s.ui_handler.peer_info.read().unwrap().version.clone();
let platform = s.ui_handler.peer_info.read().unwrap().platform.clone();
if let Some(msg_out) = crate::clipboard::get_msg_if_not_support_multi_clip(
&version,
&platform,
multi_clipboards,
) {
s.send(Data::Message(msg_out));
continue;
}
}
s.send(Data::Message(msg.clone()));
}
}