menu.rs 1.2 KB

12345678910111213141516171819202122232425262728293031323334353637
  1. // Copyright 2019-2021 Tauri Programme within The Commons Conservancy
  2. // SPDX-License-Identifier: Apache-2.0
  3. // SPDX-License-Identifier: MIT
  4. use tauri::{CustomMenuItem, Menu, MenuItem, Submenu};
  5. pub fn get_menu() -> Menu<String> {
  6. #[allow(unused_mut)]
  7. let mut disable_item = CustomMenuItem::new("disable-menu".into(), "Disable menu");
  8. #[allow(unused_mut)]
  9. let mut test_item = CustomMenuItem::new("test".into(), "Test");
  10. #[cfg(target_os = "macos")]
  11. {
  12. disable_item = disable_item.native_image(tauri::NativeImage::MenuOnState);
  13. test_item = test_item.native_image(tauri::NativeImage::Add);
  14. }
  15. // create a submenu
  16. let my_sub_menu = Menu::new().add_item(disable_item);
  17. let my_app_menu = Menu::new()
  18. .add_native_item(MenuItem::Copy)
  19. .add_submenu(Submenu::new("Sub menu", my_sub_menu));
  20. let test_menu = Menu::new()
  21. .add_item(CustomMenuItem::new(
  22. "selected/disabled".into(),
  23. "Selected and disabled",
  24. ))
  25. .add_native_item(MenuItem::Separator)
  26. .add_item(test_item);
  27. // add all our childs to the menu (order is how they'll appear)
  28. Menu::new()
  29. .add_submenu(Submenu::new("My app", my_app_menu))
  30. .add_submenu(Submenu::new("Other menu", test_menu))
  31. }