feat: tweak debug tools to be customizable
This commit is contained in:
1 parent
1b3e865a5a
commit
d19ae3ff56
2 files changed
+12
-4
No files matched your search
@@ -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
|
||||
|
||||
@@ -172,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#"
|
||||
@@ -192,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());
|
||||
|
||||
Reference in new issue
Block a user