diff --git a/pkg/gui/branches_panel.go b/pkg/gui/branches_panel.go index df7825ed2..0e5477ef7 100644 --- a/pkg/gui/branches_panel.go +++ b/pkg/gui/branches_panel.go @@ -21,15 +21,14 @@ func (gui *Gui) getSelectedBranch() *commands.Branch { return gui.State.Branches[selectedLine] } -// may want to standardise how these select methods work -func (gui *Gui) handleBranchSelect(g *gocui.Gui, v *gocui.View) error { +func (gui *Gui) handleBranchSelect() error { if gui.popupPanelFocused() { return nil } gui.State.SplitMainPanel = false - if _, err := gui.g.SetCurrentView(v.Name()); err != nil { + if _, err := gui.g.SetCurrentView("branches"); err != nil { return err } @@ -40,7 +39,7 @@ func (gui *Gui) handleBranchSelect(g *gocui.Gui, v *gocui.View) error { return gui.newStringTask("main", gui.Tr.SLocalize("NoBranchesThisRepo")) } branch := gui.getSelectedBranch() - v.FocusPoint(0, gui.State.Panels.Branches.SelectedLine) + gui.getBranchesView().FocusPoint(0, gui.State.Panels.Branches.SelectedLine) if gui.inDiffMode() { return gui.renderDiff() @@ -92,7 +91,7 @@ func (gui *Gui) renderLocalBranchesWithSelection() error { displayStrings := presentation.GetBranchListDisplayStrings(gui.State.Branches, gui.State.ScreenMode != SCREEN_NORMAL, gui.State.Diff.Ref) gui.renderDisplayStrings(branchesView, displayStrings) if gui.g.CurrentView() == branchesView { - if err := gui.handleBranchSelect(gui.g, branchesView); err != nil { + if err := gui.handleBranchSelect(); err != nil { return gui.surfaceError(err) } } @@ -516,7 +515,7 @@ func (gui *Gui) onBranchesPanelSearchSelect(selectedLine int) error { switch branchesView.Context { case "local-branches": gui.State.Panels.Branches.SelectedLine = selectedLine - return gui.handleBranchSelect(gui.g, branchesView) + return gui.handleBranchSelect() case "remotes": gui.State.Panels.Remotes.SelectedLine = selectedLine return gui.handleRemoteSelect(gui.g, branchesView) diff --git a/pkg/gui/list_view.go b/pkg/gui/list_view.go index a8fab29d8..c488a3cad 100644 --- a/pkg/gui/list_view.go +++ b/pkg/gui/list_view.go @@ -132,8 +132,8 @@ func (gui *Gui) getListViews() []*listView { context: "local-branches", getItemsLength: func() int { return len(gui.State.Branches) }, getSelectedLineIdxPtr: func() *int { return &gui.State.Panels.Branches.SelectedLine }, - handleFocus: gui.handleBranchSelect, - handleItemSelect: gui.handleBranchSelect, + handleFocus: gui.wrappedHandler(gui.handleBranchSelect), + handleItemSelect: gui.wrappedHandler(gui.handleBranchSelect), gui: gui, rendersToMainView: true, }, diff --git a/pkg/gui/view_helpers.go b/pkg/gui/view_helpers.go index d060be269..5845eacde 100644 --- a/pkg/gui/view_helpers.go +++ b/pkg/gui/view_helpers.go @@ -228,7 +228,7 @@ func (gui *Gui) newLineFocused(g *gocui.Gui, v *gocui.View) error { branchesView := gui.getBranchesView() switch branchesView.Context { case "local-branches": - return gui.handleBranchSelect(g, v) + return gui.handleBranchSelect() case "remotes": return gui.handleRemoteSelect(g, v) case "remote-branches":