mirror of
https://github.com/spacedriveapp/spacedrive.git
synced 2026-10-22 00:54:37 -04:00
add debug menu items
This commit is contained in:
1 parent
6e693f091e
commit
56f8e48870
3 files changed
+43
-6
No files matched your search
Generated
+1
@@ -6763,6 +6763,7 @@ name = "spacedrive"
|
||||
version = "0.1.0"
|
||||
dependencies = [
|
||||
"cocoa",
|
||||
"objc",
|
||||
"sdcore",
|
||||
"swift-rs",
|
||||
"tauri",
|
||||
|
||||
@@ -26,6 +26,7 @@ window-shadows = "0.1.2"
|
||||
# macOS system libs
|
||||
[target.'cfg(target_os = "macos")'.dependencies]
|
||||
cocoa = "0.24.0"
|
||||
objc = "0.2.7"
|
||||
|
||||
[features]
|
||||
default = [ "custom-protocol" ]
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
use std::env::consts;
|
||||
use std::{env::consts, ffi::c_void};
|
||||
|
||||
use tauri::{AboutMetadata, CustomMenuItem, Menu, MenuItem, Submenu, WindowMenuEvent, Wry};
|
||||
|
||||
@@ -44,10 +44,22 @@ fn custom_menu_bar() -> Menu {
|
||||
.add_item(CustomMenuItem::new("layout".to_string(), "Layout").disabled());
|
||||
let window_menu = Menu::new().add_native_item(MenuItem::EnterFullScreen);
|
||||
|
||||
let window = Submenu::new(
|
||||
"Window",
|
||||
Menu::new().add_native_item(MenuItem::EnterFullScreen),
|
||||
);
|
||||
#[cfg(debug_assertions)]
|
||||
let view_menu = {
|
||||
let view_menu = view_menu.add_native_item(MenuItem::Separator);
|
||||
|
||||
#[cfg(target_os = "macos")]
|
||||
let view_menu = view_menu.add_item(
|
||||
CustomMenuItem::new("reload_app".to_string(), "Reload").accelerator("CmdOrCtrl+R"),
|
||||
);
|
||||
|
||||
let view_menu = view_menu.add_item(
|
||||
CustomMenuItem::new("toggle_devtools".to_string(), "Toggle Developer Tools")
|
||||
.accelerator("CmdOrCtrl+Alt+I"),
|
||||
);
|
||||
|
||||
view_menu
|
||||
};
|
||||
|
||||
let menu = Menu::new()
|
||||
.add_submenu(Submenu::new("Spacedrive", app_menu))
|
||||
@@ -60,12 +72,35 @@ fn custom_menu_bar() -> Menu {
|
||||
}
|
||||
|
||||
pub(crate) fn handle_menu_event(event: WindowMenuEvent<Wry>) {
|
||||
let window = event.window();
|
||||
match event.menu_item_id() {
|
||||
"quit" => {
|
||||
std::process::exit(0);
|
||||
}
|
||||
"close" => {
|
||||
event.window().close().unwrap();
|
||||
if window.is_devtools_open() {
|
||||
window.close_devtools();
|
||||
} else {
|
||||
window.close().unwrap();
|
||||
}
|
||||
}
|
||||
"reload_app" => {
|
||||
window
|
||||
.with_webview(|webview| {
|
||||
#[cfg(target_os = "macos")]
|
||||
unsafe {
|
||||
use objc::{msg_send, sel, sel_impl};
|
||||
let _result: c_void = msg_send![webview.inner(), reload];
|
||||
};
|
||||
})
|
||||
.unwrap();
|
||||
}
|
||||
"toggle_devtools" => {
|
||||
if window.is_devtools_open() {
|
||||
window.close_devtools();
|
||||
} else {
|
||||
window.open_devtools();
|
||||
}
|
||||
}
|
||||
_ => {}
|
||||
}
|
||||
|
||||
Reference in new issue
Block a user