1+ use super :: menus;
2+
13use tauri:: {
2- AppHandle , Emitter ,
3- menu:: { Menu , MenuBuilder , MenuItemBuilder , PredefinedMenuItem , SubmenuBuilder } ,
4+ AppHandle ,
5+ menu:: { Menu , MenuBuilder } ,
46} ;
57
68pub fn create_menu ( app : & AppHandle ) -> tauri:: Result < Menu < tauri:: Wry > > {
7- let about_item = MenuItemBuilder :: new ( "关于 CodeForge" )
8- . id ( "about" )
9- . build ( app) ?;
10-
119 // 应用菜单
12- let app_submenu = SubmenuBuilder :: new ( app, "CodeForge" )
13- . item ( & about_item)
14- . build ( ) ?;
10+ let app_submenu = menus:: app:: create_app_submenu ( app) ?;
1511
1612 // 编辑菜单
17- let edit_submenu = SubmenuBuilder :: new ( app, "编辑" )
18- . item ( & PredefinedMenuItem :: undo ( app, Option :: from ( "撤销" ) ) ?)
19- . item ( & PredefinedMenuItem :: redo ( app, Option :: from ( "重做" ) ) ?)
20- . separator ( )
21- . item ( & PredefinedMenuItem :: cut ( app, Option :: from ( "剪切" ) ) ?)
22- . item ( & PredefinedMenuItem :: copy ( app, Option :: from ( "复制" ) ) ?)
23- . item ( & PredefinedMenuItem :: paste ( app, Option :: from ( "粘贴" ) ) ?)
24- . separator ( )
25- . item ( & PredefinedMenuItem :: select_all ( app, Option :: from ( "全选" ) ) ?)
26- . build ( ) ?;
13+ let edit_submenu = menus:: edit:: create_edit_submenu ( app) ?;
2714
2815 let menu = MenuBuilder :: new ( app)
2916 . items ( & [ & app_submenu, & edit_submenu] )
@@ -33,10 +20,8 @@ pub fn create_menu(app: &AppHandle) -> tauri::Result<Menu<tauri::Wry>> {
3320}
3421
3522pub fn setup_menu_handler ( app : & AppHandle ) {
36- app. on_menu_event ( move |app, event| match event. id ( ) . as_ref ( ) {
37- "about" => {
38- let _event = app. emit ( "show-about" , ( ) ) ;
39- }
40- _ => { }
23+ app. on_menu_event ( move |app, event| {
24+ menus:: app:: handle_app_menu_event ( app, event. id ( ) . as_ref ( ) ) ;
25+ menus:: edit:: handle_edit_menu_event ( app, event. id ( ) . as_ref ( ) ) ;
4126 } ) ;
4227}
0 commit comments