From 9fa977e66e17bbdaa6cfe1298a172ae917b1fbff Mon Sep 17 00:00:00 2001 From: Joesis Date: Wed, 4 Dec 2019 18:32:12 -0800 Subject: [PATCH] change the example to demo the bug of nested menus in macOS --- example/main.go | 28 ++++++++++++++++++---------- 1 file changed, 18 insertions(+), 10 deletions(-) diff --git a/example/main.go b/example/main.go index 813f404..b2638ab 100644 --- a/example/main.go +++ b/example/main.go @@ -48,7 +48,7 @@ func onReady() { subMenuTop := systray.AddMenuItem("SubMenu", "SubMenu Test (top)") subMenuMiddle := subMenuTop.AddSubMenuItem("SubMenu - Level 2", "SubMenu Test (middle)") - subMenuMiddle.AddSubMenuItem("SubMenu - Level 3", "SubMenu Test (bottom)") + subMenuBottom := subMenuMiddle.AddSubMenuItem("SubMenu - Level 3", "SubMenu Test (bottom)") subMenuBottom2 := subMenuMiddle.AddSubMenuItem("Panic!", "SubMenu Test (bottom)") mUrl := systray.AddMenuItem("Open UI", "my home") @@ -60,6 +60,20 @@ func onReady() { systray.AddSeparator() mToggle := systray.AddMenuItem("Toggle", "Toggle the Quit button") shown := true + toggle := func() { + if shown { + subMenuBottom.Uncheck() + mQuitOrig.Hide() + mEnabled.Hide() + shown = false + } else { + subMenuBottom.Check() + mQuitOrig.Show() + mEnabled.Show() + shown = true + } + } + for { select { case <-mChange.ClickedCh: @@ -79,16 +93,10 @@ func onReady() { open.Run("https://www.getlantern.org") case <-subMenuBottom2.ClickedCh: panic("panic button pressed") + case <-subMenuBottom.ClickedCh: + toggle() case <-mToggle.ClickedCh: - if shown { - mQuitOrig.Hide() - mEnabled.Hide() - shown = false - } else { - mQuitOrig.Show() - mEnabled.Show() - shown = true - } + toggle() case <-mQuit.ClickedCh: systray.Quit() fmt.Println("Quit2 now...")