fix: use webview's resources table (#1191)

* fix: use webview's resources table

* fix clipboard into_img usage

* fix mobile
This commit is contained in:
Amr Bashir
2024-04-18 03:19:24 +02:00
committed by GitHub
parent 8638740223
commit e3d41f4011
13 changed files with 152 additions and 102 deletions
+12 -3
View File
@@ -5,7 +5,7 @@
use arboard::ImageData;
use image::ImageEncoder;
use serde::de::DeserializeOwned;
use tauri::{image::Image, plugin::PluginApi, AppHandle, Runtime};
use tauri::{image::Image, plugin::PluginApi, AppHandle, Manager, ResourceTable, Runtime};
use crate::models::*;
@@ -39,11 +39,15 @@ impl<R: Runtime> Clipboard<R> {
}
}
pub fn write_image(&self, kind: ClipKind) -> crate::Result<()> {
pub(crate) fn write_image_inner(
&self,
kind: ClipKind,
resources_table: &ResourceTable,
) -> crate::Result<()> {
match kind {
ClipKind::Image { image, .. } => match &self.clipboard {
Ok(clipboard) => {
let image = image.into_img(&self.app)?;
let image = image.into_img(resources_table)?;
clipboard
.lock()
.unwrap()
@@ -60,6 +64,11 @@ impl<R: Runtime> Clipboard<R> {
}
}
pub fn write_image(&self, kind: ClipKind) -> crate::Result<()> {
let resources_table = self.app.resources_table();
self.write_image_inner(kind, &resources_table)
}
pub fn read_text(&self) -> crate::Result<ClipboardContents> {
match &self.clipboard {
Ok(clipboard) => {