diff --git a/packages/desktop/src/desktop_context.rs b/packages/desktop/src/desktop_context.rs index 39fd5fd16..3d4bf0b26 100644 --- a/packages/desktop/src/desktop_context.rs +++ b/packages/desktop/src/desktop_context.rs @@ -120,6 +120,11 @@ impl DesktopContext { let _ = self.proxy.send_event(SetZoomLevel(scale_factor)); } + /// launch print modal + pub fn print(&self) { + let _ = self.proxy.send_event(Print); + } + /// opens DevTool window pub fn devtool(&self) { let _ = self.proxy.send_event(DevTool); @@ -155,6 +160,7 @@ pub enum UserWindowEvent { SetZoomLevel(f64), + Print, DevTool, Eval(String), @@ -200,7 +206,13 @@ pub(super) fn handler( SetZoomLevel(scale_factor) => webview.zoom(scale_factor), - DevTool => {} + Print => { + if let Err(e) = webview.print() { + // we can't panic this error. + log::warn!("Open print modal failed: {e}"); + } + } + DevTool => webview.open_devtools(), Eval(code) => { if let Err(e) = webview.evaluate_script(code.as_str()) {