boilerplate for settings menu item

This commit is contained in:
maxichrome 2022-06-27 12:02:23 -05:00
parent 2cc3f3d95d
commit 51cf523013
No known key found for this signature in database
GPG key ID: 64C7730F30968F9F
2 changed files with 16 additions and 4 deletions

View file

@ -16,6 +16,13 @@ fn custom_menu_bar() -> Menu {
AboutMetadata::new(),
)) // TODO: fill out about metadata
.add_native_item(MenuItem::Separator)
.add_item(
// macOS 13 Ventura automatically changes "Preferences" to "Settings" for system-wide consistency.
// Use "Preferences" here to keep consistency on older versions
CustomMenuItem::new("open_settings".to_string(), "Preferences...")
.accelerator("CmdOrCtrl+Comma"),
)
.add_native_item(MenuItem::Separator)
.add_native_item(MenuItem::Services)
.add_native_item(MenuItem::Separator)
.add_native_item(MenuItem::Hide)
@ -76,6 +83,9 @@ pub(crate) fn handle_menu_event(event: WindowMenuEvent<Wry>) {
"quit" => {
std::process::exit(0);
}
// "open_settings" => {
// }
"close" => {
let window = event.window();

View file

@ -54,12 +54,14 @@ function App() {
}, []);
useEffect(() => {
const unlistenFocus = listen('tauri://focus', () => setFocused(true));
const unlistenBlur = listen('tauri://blur', () => setFocused(false));
const focusListener = listen('tauri://focus', () => setFocused(true));
const blurListener = listen('tauri://blur', () => setFocused(false));
const settingsNavigateListener = listen('navigate_to_settings', () => undefined);
return () => {
unlistenFocus.then((unlisten) => unlisten());
unlistenBlur.then((unlisten) => unlisten());
focusListener.then((unlisten) => unlisten());
blurListener.then((unlisten) => unlisten());
settingsNavigateListener.then((unlisten) => unlisten());
};
}, []);