Explorar o código

feat: use_window add `print` & `devtool`

YuKun Liu %!s(int64=3) %!d(string=hai) anos
pai
achega
77a92a1cf6
Modificáronse 1 ficheiros con 13 adicións e 1 borrados
  1. 13 1
      packages/desktop/src/desktop_context.rs

+ 13 - 1
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()) {