diff options
author | Jesse Duffield <jessedduffield@gmail.com> | 2019-11-10 16:50:36 +1100 |
---|---|---|
committer | Jesse Duffield <jessedduffield@gmail.com> | 2019-11-10 22:32:13 +1100 |
commit | 941d3c66486ff2534512d1538b7cacf9b8fbef65 (patch) | |
tree | 1d9685bde6090c04ec6e02ebd937604319463b1c /pkg/gui | |
parent | 5c518eda0a994e49dec6f63c74ccd38b9e1b6e74 (diff) |
allow secondary view to be scrolled
Diffstat (limited to 'pkg/gui')
-rw-r--r-- | pkg/gui/gui.go | 24 | ||||
-rw-r--r-- | pkg/gui/keybindings.go | 12 |
2 files changed, 32 insertions, 4 deletions
diff --git a/pkg/gui/gui.go b/pkg/gui/gui.go index fe4fafdd4..b75d73e87 100644 --- a/pkg/gui/gui.go +++ b/pkg/gui/gui.go @@ -206,15 +206,15 @@ func NewGui(log *logrus.Entry, gitCommand *commands.GitCommand, oSCommand *comma return gui, nil } -func (gui *Gui) scrollUpMain(g *gocui.Gui, v *gocui.View) error { - mainView, _ := g.View("main") +func (gui *Gui) scrollUpView(viewName string) error { + mainView, _ := gui.g.View(viewName) ox, oy := mainView.Origin() newOy := int(math.Max(0, float64(oy-gui.Config.GetUserConfig().GetInt("gui.scrollHeight")))) return mainView.SetOrigin(ox, newOy) } -func (gui *Gui) scrollDownMain(g *gocui.Gui, v *gocui.View) error { - mainView, _ := g.View("main") +func (gui *Gui) scrollDownView(viewName string) error { + mainView, _ := gui.g.View(viewName) ox, oy := mainView.Origin() y := oy if !gui.Config.GetUserConfig().GetBool("gui.scrollPastBottom") { @@ -227,6 +227,22 @@ func (gui *Gui) scrollDownMain(g *gocui.Gui, v *gocui.View) error { return nil } +func (gui *Gui) scrollUpMain(g *gocui.Gui, v *gocui.View) error { + return gui.scrollUpView("main") +} + +func (gui *Gui) scrollDownMain(g *gocui.Gui, v *gocui.View) error { + return gui.scrollDownView("main") +} + +func (gui *Gui) scrollUpSecondary(g *gocui.Gui, v *gocui.View) error { + return gui.scrollUpView("secondary") +} + +func (gui *Gui) scrollDownSecondary(g *gocui.Gui, v *gocui.View) error { + return gui.scrollDownView("secondary") +} + func (gui *Gui) handleRefresh(g *gocui.Gui, v *gocui.View) error { return gui.refreshSidePanels(g) } diff --git a/pkg/gui/keybindings.go b/pkg/gui/keybindings.go index f1283617a..55650c03a 100644 --- a/pkg/gui/keybindings.go +++ b/pkg/gui/keybindings.go @@ -543,6 +543,18 @@ func (gui *Gui) GetInitialKeybindings() []*Binding { Handler: gui.handleEnterCommitFile, Description: gui.Tr.SLocalize("enterFile"), }, + { + ViewName: "secondary", + Key: gocui.MouseWheelUp, + Modifier: gocui.ModNone, + Handler: gui.scrollUpSecondary, + }, + { + ViewName: "secondary", + Key: gocui.MouseWheelDown, + Modifier: gocui.ModNone, + Handler: gui.scrollDownSecondary, + }, } for _, viewName := range []string{"status", "branches", "files", "commits", "commitFiles", "stash", "menu"} { |