@@ -2320,40 +2320,51 @@ namespace Files {
23202320
23212321 private class SortSubMenuItem : Gtk .MenuItem {
23222322 construct {
2323- var name_radioitem = new Gtk .CheckMenuItem .with_label (_(" Name" ));
2324- name_radioitem. action_name = " background.sort-by" ;
2325- name_radioitem. action_target = " name" ;
2326- name_radioitem. draw_as_radio = true ;
2323+ var name_item = new MenuItem (
2324+ _(" Name" ),
2325+ Action . print_detailed_name (" background.sort-by" , new Variant .string (" name" ))
2326+ );
2327+
2328+ var size_item = new MenuItem (
2329+ _(" Size" ),
2330+ Action . print_detailed_name (" background.sort-by" , new Variant .string (" size" ))
2331+ );
2332+
2333+ var type_item = new MenuItem (
2334+ _(" Type" ),
2335+ Action . print_detailed_name (" background.sort-by" , new Variant .string (" type" ))
2336+ );
23272337
2328- var size_radioitem = new Gtk . CheckMenuItem .with_label (_( " Size " ));
2329- size_radioitem . action_name = " background.sort-by " ;
2330- size_radioitem . action_target = " size " ;
2331- size_radioitem . draw_as_radio = true ;
2338+ var date_item = new MenuItem (
2339+ _( " Date " ),
2340+ Action . print_detailed_name ( " background.sort-by " , new Variant .string ( " modified " ))
2341+ ) ;
23322342
2333- var type_radioitem = new Gtk . CheckMenuItem .with_label (_( " Type " ));
2334- type_radioitem . action_name = " background.sort-by " ;
2335- type_radioitem . action_target = " type " ;
2336- type_radioitem . draw_as_radio = true ;
2343+ var reversed_item = new MenuItem (
2344+ _( " Reversed Order " ),
2345+ " background.reverse "
2346+ ) ;
23372347
2338- var date_radioitem = new Gtk . CheckMenuItem .with_label (_( " Date " ));
2339- date_radioitem . action_name = " background.sort-by " ;
2340- date_radioitem . action_target = " modified " ;
2341- date_radioitem . draw_as_radio = true ;
2348+ var folders_first_item = new MenuItem (
2349+ _( " Folders Before Files " ),
2350+ " win.sort-directories-first "
2351+ ) ;
23422352
2343- var reversed_checkitem = new Gtk .CheckMenuItem .with_label (_(" Reversed Order" ));
2344- reversed_checkitem. action_name = " background.reverse" ;
2353+ var radio_section = new Menu ();
2354+ radio_section. append_item (name_item);
2355+ radio_section. append_item (size_item);
2356+ radio_section. append_item (type_item);
2357+ radio_section. append_item (date_item);
23452358
2346- var folders_first_checkitem = new Gtk .CheckMenuItem .with_label (_(" Folders Before Files" ));
2347- folders_first_checkitem. action_name = " win.sort-directories-first" ;
2359+ var check_section = new Menu ();
2360+ check_section. append_item (reversed_item);
2361+ check_section. append_item (folders_first_item);
23482362
2349- submenu = new Gtk .Menu ();
2350- submenu. add (name_radioitem);
2351- submenu. add (size_radioitem);
2352- submenu. add (type_radioitem);
2353- submenu. add (date_radioitem);
2354- submenu. add (new Gtk .SeparatorMenuItem ());
2355- submenu. add (reversed_checkitem);
2356- submenu. add (folders_first_checkitem);
2363+ var menu_model = new Menu ();
2364+ menu_model. append_section (null , radio_section);
2365+ menu_model. append_section (null , check_section);
2366+
2367+ submenu = new Gtk .Menu .from_model (menu_model);
23572368
23582369 label = _(" Sort by" );
23592370 }
0 commit comments