Invisible items and submenus are now skipped
when building MacOS menus. Previously, corresponding MacOS items were first built and then deleted. git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@10105 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
This commit is contained in:
parent
b72cb18681
commit
1122c14443
@ -289,7 +289,10 @@ static void createSubMenu( NSMenu *mh, pFl_Menu_Item &mm, const Fl_Menu_Item *m
|
||||
|
||||
while ( mm->text )
|
||||
{
|
||||
char visible = mm->visible() ? 1 : 0;
|
||||
if (!mm->visible() ) { // skip invisible items and submenus
|
||||
mm = mm->next(0);
|
||||
continue;
|
||||
}
|
||||
miCnt = [FLMenuItem addNewItem:mm menu:submenu];
|
||||
setMenuFlags( submenu, miCnt, mm );
|
||||
setMenuShortcut( submenu, miCnt, mm );
|
||||
@ -311,9 +314,6 @@ static void createSubMenu( NSMenu *mh, pFl_Menu_Item &mm, const Fl_Menu_Item *m
|
||||
if ( flags & FL_MENU_DIVIDER ) {
|
||||
[submenu addItem:[NSMenuItem separatorItem]];
|
||||
}
|
||||
if ( !visible ) {
|
||||
[submenu removeItem:[submenu itemAtIndex:miCnt]];
|
||||
}
|
||||
mm++;
|
||||
}
|
||||
}
|
||||
@ -337,7 +337,10 @@ static void convertToMenuBar(const Fl_Menu_Item *mm)
|
||||
{
|
||||
if ( !mm || !mm->text )
|
||||
break;
|
||||
char visible = mm->visible() ? 1 : 0;
|
||||
if (!mm->visible() ) { // skip invisible menus
|
||||
mm = mm->next(0);
|
||||
continue;
|
||||
}
|
||||
rank = [FLMenuItem addNewItem:mm menu:fl_system_menu];
|
||||
|
||||
if ( mm->flags & FL_SUBMENU ) {
|
||||
@ -348,9 +351,6 @@ static void convertToMenuBar(const Fl_Menu_Item *mm)
|
||||
const Fl_Menu_Item *smm = (Fl_Menu_Item*)mm->user_data_;
|
||||
createSubMenu(fl_system_menu, smm, mm);
|
||||
}
|
||||
if ( !visible ) {
|
||||
[fl_system_menu removeItem:[fl_system_menu itemAtIndex:rank]];
|
||||
}
|
||||
mm++;
|
||||
}
|
||||
}
|
||||
|
||||
Loading…
Reference in New Issue
Block a user