浏览代码

fix(tauri): export `WindowBuilder` struct instead of trait, closes #3827 (#3833)

Lucas Fernandes Nogueira 3 年之前
父节点
当前提交
985d250898
共有 4 个文件被更改,包括 26 次插入23 次删除
  1. 5 0
      .changes/fix-window-builder-export.md
  2. 2 2
      core/tauri/src/lib.rs
  3. 10 8
      examples/multiwindow/main.rs
  4. 9 13
      examples/parent-window/main.rs

+ 5 - 0
.changes/fix-window-builder-export.md

@@ -0,0 +1,5 @@
+---
+"tauri": patch
+---
+
+Fixes the `WindowBuilder` export.

+ 2 - 2
core/tauri/src/lib.rs

@@ -211,7 +211,7 @@ pub use {
   },
   self::manager::Asset,
   self::runtime::{
-    webview::{WebviewAttributes, WindowBuilder},
+    webview::WebviewAttributes,
     window::{
       dpi::{LogicalPosition, LogicalSize, PhysicalPosition, PhysicalSize, Pixel, Position, Size},
       FileDropEvent,
@@ -224,7 +224,7 @@ pub use {
     config::{Config, WindowUrl},
     Env, PackageInfo,
   },
-  self::window::{Monitor, Window},
+  self::window::{Monitor, Window, WindowBuilder},
   scope::*,
 };
 

+ 10 - 8
examples/multiwindow/main.rs

@@ -17,14 +17,16 @@ fn main() {
         println!("got 'clicked' event on window '{}'", label);
       });
     })
-    .create_window(
-      "Rust".to_string(),
-      tauri::WindowUrl::App("index.html".into()),
-      |window_builder, webview_attributes| {
-        (window_builder.title("Tauri - Rust"), webview_attributes)
-      },
-    )
-    .unwrap() // safe to unwrap: window label is valid
+    .setup(|app| {
+      WindowBuilder::new(
+        app,
+        "Rust".to_string(),
+        tauri::WindowUrl::App("index.html".into()),
+      )
+      .title("Tauri - Rust")
+      .build()?;
+      Ok(())
+    })
     .run(tauri::generate_context!(
       "../../examples/multiwindow/tauri.conf.json"
     ))

+ 9 - 13
examples/parent-window/main.rs

@@ -9,14 +9,14 @@
 
 #[cfg(any(windows, target_os = "macos"))]
 use tauri::Manager;
-use tauri::{command, window, AppHandle, WindowBuilder, WindowUrl};
+use tauri::{command, window::WindowBuilder, AppHandle, WindowUrl};
 
 #[command]
 fn create_child_window(id: String, app: AppHandle) {
   #[cfg(any(windows, target_os = "macos"))]
   let main = app.get_window("main").unwrap();
 
-  let child = window::WindowBuilder::new(&app, id, WindowUrl::default())
+  let child = WindowBuilder::new(&app, id, WindowUrl::default())
     .title("Child")
     .inner_size(400.0, 300.0);
 
@@ -37,17 +37,13 @@ fn main() {
       });
     })
     .invoke_handler(tauri::generate_handler![create_child_window])
-    .create_window(
-      "main".to_string(),
-      WindowUrl::default(),
-      |window_builder, webview_attributes| {
-        (
-          window_builder.title("Main").inner_size(600.0, 400.0),
-          webview_attributes,
-        )
-      },
-    )
-    .unwrap() // safe to unwrap: window label is valid
+    .setup(|app| {
+      WindowBuilder::new(app, "main".to_string(), WindowUrl::default())
+        .title("Main")
+        .inner_size(600.0, 400.0)
+        .build()?;
+      Ok(())
+    }) // safe to unwrap: window label is valid
     .run(tauri::generate_context!(
       "../../examples/parent-window/tauri.conf.json"
     ))