diff --git a/v2/internal/runtime/menu.go b/v2/internal/runtime/menu.go index d1301b013..dbbaa42e6 100644 --- a/v2/internal/runtime/menu.go +++ b/v2/internal/runtime/menu.go @@ -1,15 +1,13 @@ package runtime import ( - "github.com/wailsapp/wails/v2/internal/messagedispatcher/message" "github.com/wailsapp/wails/v2/internal/servicebus" "github.com/wailsapp/wails/v2/pkg/menu" ) // Menu defines all Menu related operations type Menu interface { - On(menuID string, callback func(*menu.MenuItem)) - Update() + UpdateApplicationMenu() GetByID(menuID string) *menu.MenuItem RemoveByID(id string) bool } @@ -27,15 +25,7 @@ func newMenu(bus *servicebus.ServiceBus, menu *menu.Menu) Menu { } } -// On registers a listener for a particular event -func (m *menuRuntime) On(menuID string, callback func(*menu.MenuItem)) { - m.bus.Publish("menu:on", &message.MenuOnMessage{ - MenuID: menuID, - Callback: callback, - }) -} - -func (m *menuRuntime) Update() { +func (m *menuRuntime) UpdateApplicationMenu() { m.bus.Publish("menu:updateappmenu", nil) } diff --git a/v2/internal/subsystem/menu.go b/v2/internal/subsystem/menu.go index 3c48cea9c..5e57338a3 100644 --- a/v2/internal/subsystem/menu.go +++ b/v2/internal/subsystem/menu.go @@ -7,7 +7,6 @@ import ( "sync" "github.com/wailsapp/wails/v2/internal/logger" - "github.com/wailsapp/wails/v2/internal/messagedispatcher/message" "github.com/wailsapp/wails/v2/internal/servicebus" "github.com/wailsapp/wails/v2/pkg/menu" ) @@ -116,11 +115,6 @@ func (m *Menu) Start() error { m.logger.Trace("%s", err.Error()) } - case "on": - listenerDetails := menuMessage.Data().(*message.MenuOnMessage) - id := listenerDetails.MenuID - m.listeners[id] = append(m.listeners[id], listenerDetails.Callback) - // Make sure we catch any menu updates case "updateappmenu": updatedMenu, err := m.menuManager.UpdateApplicationMenu() @@ -128,10 +122,8 @@ func (m *Menu) Start() error { m.logger.Trace("%s", err.Error()) return } - //updatedMenu := menuMessage.Data().(*menu.Menu) - //m.processMenu(updatedMenu) - // - //// Notify frontend of menu change + + // Notify frontend of menu change m.bus.Publish("menufrontend:updateappmenu", updatedMenu) default: diff --git a/v2/test/kitchensink/menu.go b/v2/test/kitchensink/menu.go index b701c2df5..37618a52f 100644 --- a/v2/test/kitchensink/menu.go +++ b/v2/test/kitchensink/menu.go @@ -67,7 +67,7 @@ func (m *Menu) addMenu(data *menu.CallbackData) { removeMenu.Label = "Remove " + menuText } } - m.runtime.Menu.Update() + m.runtime.Menu.UpdateApplicationMenu() } func (m *Menu) removeMenu(_ *menu.CallbackData) { @@ -97,7 +97,7 @@ func (m *Menu) removeMenu(_ *menu.CallbackData) { //} // //// parent.Append(menu.Text(menuText, menuText, menu.Key("["))) - //m.runtime.Menu.Update() + //m.runtime.Menu.UpdateApplicationMenu() } func (m *Menu) createDynamicMenuTwo(data *menu.CallbackData) { @@ -115,8 +115,8 @@ func (m *Menu) createDynamicMenuTwo(data *menu.CallbackData) { menu.Separator(), )) - m.runtime.Menu.On("Insert Before Random", m.insertBeforeRandom) - m.runtime.Menu.On("Insert After Random", m.insertAfterRandom) + //m.runtime.Menu.On("Insert Before Random", m.insertBeforeRandom) + //m.runtime.Menu.On("Insert After Random", m.insertAfterRandom) // Initialise out map m.dynamicMenuItems = make(map[string]*menu.MenuItem) @@ -137,7 +137,7 @@ func (m *Menu) createDynamicMenuTwo(data *menu.CallbackData) { } dm1.InsertAfter(dm2) - m.runtime.Menu.Update() + m.runtime.Menu.UpdateApplicationMenu() } func (m *Menu) insertBeforeRandom(_ *menu.MenuItem) { @@ -172,7 +172,7 @@ func (m *Menu) insertBeforeRandom(_ *menu.MenuItem) { item.Label)) item.InsertBefore(newItem) - m.runtime.Menu.Update() + m.runtime.Menu.UpdateApplicationMenu() } func (m *Menu) insertAfterRandom(_ *menu.MenuItem) { @@ -204,7 +204,7 @@ func (m *Menu) insertAfterRandom(_ *menu.MenuItem) { item.Label)) item.InsertAfter(newItem) - m.runtime.Menu.Update() + m.runtime.Menu.UpdateApplicationMenu() } func (m *Menu) processPlainText(callbackData *menu.CallbackData) {