Merge branch 'master' into jk/documet-everything

This commit is contained in:
Jonathan Kelley committed 2022-02-26 17:33:06 -05:00
commit 77631bff1f
34 files changed
+891 -81

No files matched your search

+8
View File
@@ -17,6 +17,7 @@ pub struct DesktopConfig {
pub(crate) protocols: Vec<WryProtocol>,
pub(crate) pre_rendered: Option<String>,
pub(crate) event_handler: Option<Box<DynEventHandlerFn>>,
pub(crate) disable_context_menu: bool,
}
pub(crate) type WryProtocol = (
@@ -29,15 +30,22 @@ impl DesktopConfig {
#[inline]
pub fn new() -> Self {
let window = WindowBuilder::new().with_title("Dioxus app");
Self {
event_handler: None,
window,
protocols: Vec::new(),
file_drop_handler: None,
pre_rendered: None,
disable_context_menu: !cfg!(debug_assertions),
}
}
pub fn with_disable_context_menu(&mut self, disable: bool) -> &mut Self {
self.disable_context_menu = disable;
self
}
pub fn with_prerendered(&mut self, content: String) -> &mut Self {
self.pre_rendered = Some(content);
self
+3
View File
@@ -56,6 +56,9 @@ impl DesktopController {
.unwrap()
.push_front(serde_json::to_string(&edits.edits).unwrap());
// Make sure the window is ready for any new updates
proxy.send_event(UserWindowEvent::Update).unwrap();
loop {
dom.wait_for_work().await;
let mut muts = dom.work_with_deadline(|| false);
+4 -5
View File
@@ -143,7 +143,6 @@ pub fn launch_with_props<P: 'static + Send>(
let _ = proxy.send_event(UserWindowEvent::Update);
}
"browser_open" => {
println!("browser_open");
let data = message.params();
log::trace!("Open browser: {:?}", data);
if let Some(temp) = data.as_object() {
@@ -173,10 +172,7 @@ pub fn launch_with_props<P: 'static + Send>(
webview = webview.with_custom_protocol(name, handler)
}
if cfg!(debug_assertions) {
// in debug, we are okay with the reload menu showing and dev tool
webview = webview.with_dev_tool(true);
} else {
if cfg.disable_context_menu {
// in release mode, we don't want to show the dev tool or reload menus
webview = webview.with_initialization_script(
r#"
@@ -193,6 +189,9 @@ pub fn launch_with_props<P: 'static + Send>(
}
"#,
)
} else {
// in debug, we are okay with the reload menu showing and dev tool
webview = webview.with_dev_tool(true);
}
desktop.webviews.insert(window_id, webview.build().unwrap());