diff --git a/pkg/gui/context.go b/pkg/gui/context.go index 7faa16782..5ab4bfe1b 100644 --- a/pkg/gui/context.go +++ b/pkg/gui/context.go @@ -411,49 +411,3 @@ func (gui *Gui) changeMainViewsContext(context string) { gui.State.MainContext = context } - -func (gui *Gui) getListContextKeyBindings() []*Binding { - bindings := make([]*Binding, 0) - - for _, listContext := range gui.getListContexts() { - bindings = append(bindings, []*Binding{ - {ViewName: listContext.ViewName, Contexts: []string{listContext.ContextKey}, Key: gui.getKey("universal.prevItem-alt"), Modifier: gocui.ModNone, Handler: listContext.handlePrevLine}, - {ViewName: listContext.ViewName, Contexts: []string{listContext.ContextKey}, Key: gui.getKey("universal.prevItem"), Modifier: gocui.ModNone, Handler: listContext.handlePrevLine}, - {ViewName: listContext.ViewName, Contexts: []string{listContext.ContextKey}, Key: gocui.MouseWheelUp, Modifier: gocui.ModNone, Handler: listContext.handlePrevLine}, - {ViewName: listContext.ViewName, Contexts: []string{listContext.ContextKey}, Key: gui.getKey("universal.nextItem-alt"), Modifier: gocui.ModNone, Handler: listContext.handleNextLine}, - {ViewName: listContext.ViewName, Contexts: []string{listContext.ContextKey}, Key: gui.getKey("universal.nextItem"), Modifier: gocui.ModNone, Handler: listContext.handleNextLine}, - {ViewName: listContext.ViewName, Contexts: []string{listContext.ContextKey}, Key: gui.getKey("universal.prevPage"), Modifier: gocui.ModNone, Handler: listContext.handlePrevPage, Description: gui.Tr.SLocalize("prevPage")}, - {ViewName: listContext.ViewName, Contexts: []string{listContext.ContextKey}, Key: gui.getKey("universal.nextPage"), Modifier: gocui.ModNone, Handler: listContext.handleNextPage, Description: gui.Tr.SLocalize("nextPage")}, - {ViewName: listContext.ViewName, Contexts: []string{listContext.ContextKey}, Key: gui.getKey("universal.gotoTop"), Modifier: gocui.ModNone, Handler: listContext.handleGotoTop, Description: gui.Tr.SLocalize("gotoTop")}, - {ViewName: listContext.ViewName, Contexts: []string{listContext.ContextKey}, Key: gocui.MouseWheelDown, Modifier: gocui.ModNone, Handler: listContext.handleNextLine}, - {ViewName: listContext.ViewName, Contexts: []string{listContext.ContextKey}, Key: gocui.MouseLeft, Modifier: gocui.ModNone, Handler: listContext.handleClick}, - }...) - - // the commits panel needs to lazyload things so it has a couple of its own handlers - openSearchHandler := gui.handleOpenSearch - gotoBottomHandler := listContext.handleGotoBottom - if listContext.ViewName == "commits" { - openSearchHandler = gui.handleOpenSearchForCommitsPanel - gotoBottomHandler = gui.handleGotoBottomForCommitsPanel - } - - bindings = append(bindings, []*Binding{ - { - ViewName: listContext.ViewName, - Contexts: []string{listContext.ContextKey}, - Key: gui.getKey("universal.startSearch"), - Handler: openSearchHandler, - Description: gui.Tr.SLocalize("startSearch"), - }, - { - ViewName: listContext.ViewName, - Contexts: []string{listContext.ContextKey}, - Key: gui.getKey("universal.gotoBottom"), - Handler: gotoBottomHandler, - Description: gui.Tr.SLocalize("gotoBottom"), - }, - }...) - } - - return bindings -} diff --git a/pkg/gui/list_context.go b/pkg/gui/list_context.go index 023d34e10..7a1248d22 100644 --- a/pkg/gui/list_context.go +++ b/pkg/gui/list_context.go @@ -307,3 +307,49 @@ func (gui *Gui) getListContexts() []*ListContext { gui.commitFilesListContext(), } } + +func (gui *Gui) getListContextKeyBindings() []*Binding { + bindings := make([]*Binding, 0) + + for _, listContext := range gui.getListContexts() { + bindings = append(bindings, []*Binding{ + {ViewName: listContext.ViewName, Contexts: []string{listContext.ContextKey}, Key: gui.getKey("universal.prevItem-alt"), Modifier: gocui.ModNone, Handler: listContext.handlePrevLine}, + {ViewName: listContext.ViewName, Contexts: []string{listContext.ContextKey}, Key: gui.getKey("universal.prevItem"), Modifier: gocui.ModNone, Handler: listContext.handlePrevLine}, + {ViewName: listContext.ViewName, Contexts: []string{listContext.ContextKey}, Key: gocui.MouseWheelUp, Modifier: gocui.ModNone, Handler: listContext.handlePrevLine}, + {ViewName: listContext.ViewName, Contexts: []string{listContext.ContextKey}, Key: gui.getKey("universal.nextItem-alt"), Modifier: gocui.ModNone, Handler: listContext.handleNextLine}, + {ViewName: listContext.ViewName, Contexts: []string{listContext.ContextKey}, Key: gui.getKey("universal.nextItem"), Modifier: gocui.ModNone, Handler: listContext.handleNextLine}, + {ViewName: listContext.ViewName, Contexts: []string{listContext.ContextKey}, Key: gui.getKey("universal.prevPage"), Modifier: gocui.ModNone, Handler: listContext.handlePrevPage, Description: gui.Tr.SLocalize("prevPage")}, + {ViewName: listContext.ViewName, Contexts: []string{listContext.ContextKey}, Key: gui.getKey("universal.nextPage"), Modifier: gocui.ModNone, Handler: listContext.handleNextPage, Description: gui.Tr.SLocalize("nextPage")}, + {ViewName: listContext.ViewName, Contexts: []string{listContext.ContextKey}, Key: gui.getKey("universal.gotoTop"), Modifier: gocui.ModNone, Handler: listContext.handleGotoTop, Description: gui.Tr.SLocalize("gotoTop")}, + {ViewName: listContext.ViewName, Contexts: []string{listContext.ContextKey}, Key: gocui.MouseWheelDown, Modifier: gocui.ModNone, Handler: listContext.handleNextLine}, + {ViewName: listContext.ViewName, Contexts: []string{listContext.ContextKey}, Key: gocui.MouseLeft, Modifier: gocui.ModNone, Handler: listContext.handleClick}, + }...) + + // the commits panel needs to lazyload things so it has a couple of its own handlers + openSearchHandler := gui.handleOpenSearch + gotoBottomHandler := listContext.handleGotoBottom + if listContext.ViewName == "commits" { + openSearchHandler = gui.handleOpenSearchForCommitsPanel + gotoBottomHandler = gui.handleGotoBottomForCommitsPanel + } + + bindings = append(bindings, []*Binding{ + { + ViewName: listContext.ViewName, + Contexts: []string{listContext.ContextKey}, + Key: gui.getKey("universal.startSearch"), + Handler: openSearchHandler, + Description: gui.Tr.SLocalize("startSearch"), + }, + { + ViewName: listContext.ViewName, + Contexts: []string{listContext.ContextKey}, + Key: gui.getKey("universal.gotoBottom"), + Handler: gotoBottomHandler, + Description: gui.Tr.SLocalize("gotoBottom"), + }, + }...) + } + + return bindings +}