diff options
author | Jesse Duffield <jessedduffield@gmail.com> | 2019-11-10 16:20:35 +1100 |
---|---|---|
committer | Jesse Duffield <jessedduffield@gmail.com> | 2019-11-10 22:32:13 +1100 |
commit | e85310c0a92a89167530241bdc3fc5f66a48706d (patch) | |
tree | f7989a8b002d2d5aa847460cae112aac9f64b669 /pkg/gui/menu_panel.go | |
parent | cd17b46b55e312b3ba4e3ab9d3d96a8eeb20fded (diff) |
add mouse support
Diffstat (limited to 'pkg/gui/menu_panel.go')
-rw-r--r-- | pkg/gui/menu_panel.go | 16 |
1 files changed, 15 insertions, 1 deletions
diff --git a/pkg/gui/menu_panel.go b/pkg/gui/menu_panel.go index 2d08a010b..f15b99d76 100644 --- a/pkg/gui/menu_panel.go +++ b/pkg/gui/menu_panel.go @@ -82,7 +82,9 @@ func (gui *Gui) createMenu(title string, items interface{}, itemCount int, handl return gui.returnFocus(gui.g, menuView) } - for _, key := range []gocui.Key{gocui.KeySpace, gocui.KeyEnter} { + gui.State.Panels.Menu.OnPress = wrappedHandlePress + + for _, key := range []gocui.Key{gocui.KeySpace, gocui.KeyEnter, 'y'} { _ = gui.g.DeleteKeybinding("menu", key, gocui.ModNone) if err := gui.g.SetKeybinding("menu", key, gocui.ModNone, wrappedHandlePress); err != nil { @@ -101,3 +103,15 @@ func (gui *Gui) createMenu(title string, items interface{}, itemCount int, handl }) return nil } + +func (gui *Gui) handleMenuClick(g *gocui.Gui, v *gocui.View) error { + itemCount := gui.State.MenuItemCount + handleSelect := gui.handleMenuSelect + selectedLine := &gui.State.Panels.Menu.SelectedLine + + if err := gui.handleClick(v, itemCount, selectedLine, handleSelect); err != nil { + return err + } + + return gui.State.Panels.Menu.OnPress(g, v) +} |