Make primary clipboard Linux only (#11843)

I guess only Linux supports the primary clipboard.

Release Notes:

- N/A
This commit is contained in:
张小白 2024-05-16 01:44:47 +08:00 committed by GitHub
parent 1c62839295
commit 4ae3396253
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
7 changed files with 42 additions and 37 deletions

View file

@ -23,6 +23,7 @@ pub(crate) struct TestPlatform {
active_display: Rc<dyn PlatformDisplay>,
active_cursor: Mutex<CursorStyle>,
current_clipboard_item: Mutex<Option<ClipboardItem>>,
#[cfg(target_os = "linux")]
current_primary_item: Mutex<Option<ClipboardItem>>,
pub(crate) prompts: RefCell<TestPrompts>,
pub opened_url: RefCell<Option<String>>,
@ -45,6 +46,7 @@ impl TestPlatform {
active_display: Rc::new(TestDisplay::new()),
active_window: Default::default(),
current_clipboard_item: Mutex::new(None),
#[cfg(target_os = "linux")]
current_primary_item: Mutex::new(None),
weak: weak.clone(),
opened_url: Default::default(),
@ -272,6 +274,7 @@ impl Platform for TestPlatform {
false
}
#[cfg(target_os = "linux")]
fn write_to_primary(&self, item: ClipboardItem) {
*self.current_primary_item.lock() = Some(item);
}
@ -280,6 +283,7 @@ impl Platform for TestPlatform {
*self.current_clipboard_item.lock() = Some(item);
}
#[cfg(target_os = "linux")]
fn read_from_primary(&self) -> Option<ClipboardItem> {
self.current_primary_item.lock().clone()
}