summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorStefan Haller <stefan@haller-berlin.de>2024-05-03 21:25:20 +0200
committerStefan Haller <stefan@haller-berlin.de>2024-05-03 21:48:11 +0200
commit2602328cfae0335531bb7d28529ff8391026441e (patch)
tree7c160f0ceebc55835cdfce59a476b539974915ea
parent618fe533f8c6113392eea981d03c65e6da5860bb (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.go18
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()
}
}