diff options
author | Jesse Duffield <jessedduffield@gmail.com> | 2020-08-17 17:53:50 +1000 |
---|---|---|
committer | Jesse Duffield <jessedduffield@gmail.com> | 2020-08-17 18:22:57 +1000 |
commit | 44d8b3e8f3a49da82c0c39950f3df1086e1a6551 (patch) | |
tree | d6c0002237d68c2f23d3297ebcaa9eb7e34bd20a /pkg/gui/menu_panel.go | |
parent | 4f4bb40ea689925c24b2663c3b642393c7c62fe8 (diff) |
allow overriding default confirm/escape keybindings
Diffstat (limited to 'pkg/gui/menu_panel.go')
-rw-r--r-- | pkg/gui/menu_panel.go | 8 |
1 files changed, 6 insertions, 2 deletions
diff --git a/pkg/gui/menu_panel.go b/pkg/gui/menu_panel.go index 98f4a5f61..07c786ec3 100644 --- a/pkg/gui/menu_panel.go +++ b/pkg/gui/menu_panel.go @@ -32,8 +32,12 @@ func (gui *Gui) renderMenuOptions() error { return gui.renderOptionsMap(optionsMap) } +func (gui *Gui) menuConfirmationKeys() []interface{} { + return []interface{}{gui.getKey("universal.select"), gui.getKey("universal.confirm"), gui.getKey("universal.confirm-alt1")} +} + func (gui *Gui) handleMenuClose(g *gocui.Gui, v *gocui.View) error { - for _, key := range []gocui.Key{gocui.KeySpace, gocui.KeyEnter} { + for _, key := range gui.menuConfirmationKeys() { if err := g.DeleteKeybinding("menu", key, gocui.ModNone); err != nil { return err } @@ -104,7 +108,7 @@ func (gui *Gui) createMenu(title string, items []*menuItem, createMenuOptions cr gui.State.Panels.Menu.OnPress = wrappedHandlePress - for _, key := range []gocui.Key{gocui.KeySpace, gocui.KeyEnter, 'y'} { + for _, key := range gui.menuConfirmationKeys() { _ = gui.g.DeleteKeybinding("menu", key, gocui.ModNone) if err := gui.g.SetKeybinding("menu", nil, key, gocui.ModNone, wrappedHandlePress); err != nil { |