diff options
author | Stefan Haller <stefan@haller-berlin.de> | 2024-05-03 21:25:20 +0200 |
---|---|---|
committer | Stefan Haller <stefan@haller-berlin.de> | 2024-05-03 21:48:11 +0200 |
commit | 2602328cfae0335531bb7d28529ff8391026441e (patch) | |
tree | 7c160f0ceebc55835cdfce59a476b539974915ea | |
parent | 618fe533f8c6113392eea981d03c65e6da5860bb (diff) |
Fix clicking in status side panel
Seems to have been broken since that big refactoring in March 23.
-rw-r--r-- | pkg/gui/controllers/status_controller.go | 18 |
1 files changed, 9 insertions, 9 deletions
diff --git a/pkg/gui/controllers/status_controller.go b/pkg/gui/controllers/status_controller.go index 4fcb26a7c..4c4384bfd 100644 --- a/pkg/gui/controllers/status_controller.go +++ b/pkg/gui/controllers/status_controller.go @@ -75,6 +75,11 @@ func (self *StatusController) GetMouseKeybindings(opts types.KeybindingsOpts) [] Key: gocui.MouseLeft, Handler: self.onClickMain, }, + { + ViewName: self.Context().GetViewName(), + Key: gocui.MouseLeft, + Handler: self.onClick, + }, } } @@ -95,15 +100,11 @@ func (self *StatusController) GetOnRenderToMain() func() error { } } -func (self *StatusController) GetOnClick() func() error { - return self.onClick -} - func (self *StatusController) Context() types.Context { return self.c.Contexts().Status } -func (self *StatusController) onClick() error { +func (self *StatusController) onClick(opts gocui.ViewMouseBindingOpts) error { // TODO: move into some abstraction (status is currently not a listViewContext where a lot of this code lives) currentBranch := self.c.Helpers().Refs.GetCheckedOutRef() if currentBranch == nil { @@ -115,21 +116,20 @@ func (self *StatusController) onClick() error { return err } - cx, _ := self.c.Views().Status.Cursor() upstreamStatus := presentation.BranchStatus(currentBranch, types.ItemOperationNone, self.c.Tr, time.Now(), self.c.UserConfig) repoName := self.c.Git().RepoPaths.RepoName() workingTreeState := self.c.Git().Status.WorkingTreeState() switch workingTreeState { case enums.REBASE_MODE_REBASING, enums.REBASE_MODE_MERGING: workingTreeStatus := fmt.Sprintf("(%s)", presentation.FormatWorkingTreeStateLower(self.c.Tr, workingTreeState)) - if cursorInSubstring(cx, upstreamStatus+" ", workingTreeStatus) { + if cursorInSubstring(opts.X, upstreamStatus+" ", workingTreeStatus) { return self.c.Helpers().MergeAndRebase.CreateRebaseOptionsMenu() } - if cursorInSubstring(cx, upstreamStatus+" "+workingTreeStatus+" ", repoName) { + if cursorInSubstring(opts.X, upstreamStatus+" "+workingTreeStatus+" ", repoName) { return self.c.Helpers().Repos.CreateRecentReposMenu() } default: - if cursorInSubstring(cx, upstreamStatus+" ", repoName) { + if cursorInSubstring(opts.X, upstreamStatus+" ", repoName) { return self.c.Helpers().Repos.CreateRecentReposMenu() } } |