diff --git a/example/main.go b/example/main.go index 78cbf13..71fbf3a 100644 --- a/example/main.go +++ b/example/main.go @@ -63,11 +63,13 @@ func onReady() { toggle := func() { if shown { subMenuBottom.Check() + subMenuBottom2.Hide() mQuitOrig.Hide() mEnabled.Hide() shown = false } else { subMenuBottom.Uncheck() + subMenuBottom2.Show() mQuitOrig.Show() mEnabled.Show() shown = true diff --git a/systray.go b/systray.go index a5ebaaf..b2e4abc 100644 --- a/systray.go +++ b/systray.go @@ -110,8 +110,7 @@ func Quit() { } } -// AddMenuItem adds menu item with designated title and tooltip, returning a channel -// that notifies whenever that menu item is clicked. +// AddMenuItem adds a menu item with the designated title and tooltip. // // It can be safely invoked from different goroutines. func AddMenuItem(title string, tooltip string) *MenuItem { @@ -125,8 +124,7 @@ func AddSeparator() { addSeparator(atomic.AddInt32(¤tID, 1)) } -// AddSubMenuItem adds nested sub-menu item with designated title and tooltip, returning a channel -// that notifies whenever that menu item is clicked. +// AddSubMenuItem adds a nested sub-menu item with the designated title and tooltip. // // It can be safely invoked from different goroutines. func (item *MenuItem) AddSubMenuItem(title string, tooltip string) *MenuItem { diff --git a/systray_darwin.m b/systray_darwin.m index 2b7b8ee..67e696c 100644 --- a/systray_darwin.m +++ b/systray_darwin.m @@ -176,13 +176,10 @@ NSMenuItem *find_menu_item(NSMenu *ourMenu, NSNumber *menuId) { - (void) hide_menu_item:(NSNumber*) menuId { - NSMenuItem* menuItem; - int existedMenuIndex = [menu indexOfItemWithRepresentedObject: menuId]; - if (existedMenuIndex == -1) { - return; + NSMenuItem* menuItem = find_menu_item(menu, menuId); + if (menuItem != NULL) { + [menuItem setHidden:TRUE]; } - menuItem = [menu itemAtIndex: existedMenuIndex]; - [menuItem setHidden:TRUE]; } - (void) setMenuItemIcon:(NSArray*)imageAndMenuId { @@ -199,13 +196,10 @@ NSMenuItem *find_menu_item(NSMenu *ourMenu, NSNumber *menuId) { - (void) show_menu_item:(NSNumber*) menuId { - NSMenuItem* menuItem; - int existedMenuIndex = [menu indexOfItemWithRepresentedObject: menuId]; - if (existedMenuIndex == -1) { - return; + NSMenuItem* menuItem = find_menu_item(menu, menuId); + if (menuItem != NULL) { + [menuItem setHidden:FALSE]; } - menuItem = [menu itemAtIndex: existedMenuIndex]; - [menuItem setHidden:FALSE]; } - (void) quit