summaryrefslogtreecommitdiffstats
path: root/pkg/gui
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-15 13:21:17 +0200
commit88e7c44552d56b913f2b15d55137866697c8392e (patch)
treee4f28421f613a9e6114f247efda681ca813acb69 /pkg/gui
parentac0524f7cb3b7e8c71d723e366b258de78a085b4 (diff)
Fix clicking in status side panel
Seems to have been broken since that big refactoring in March 23.
Diffstat (limited to 'pkg/gui')
-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()
}
}