summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJesse Duffield <jessedduffield@gmail.com>2019-11-10 16:50:36 +1100
committerJesse Duffield <jessedduffield@gmail.com>2019-11-10 22:32:13 +1100
commit941d3c66486ff2534512d1538b7cacf9b8fbef65 (patch)
tree1d9685bde6090c04ec6e02ebd937604319463b1c
parent5c518eda0a994e49dec6f63c74ccd38b9e1b6e74 (diff)
allow secondary view to be scrolled
-rw-r--r--pkg/gui/gui.go24
-rw-r--r--pkg/gui/keybindings.go12
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"} {