summaryrefslogtreecommitdiffstats
path: root/pkg/gui/view_helpers.go
diff options
context:
space:
mode:
authorJesse Duffield <jessedduffield@gmail.com>2019-11-16 14:00:27 +1100
committerJesse Duffield <jessedduffield@gmail.com>2019-11-21 22:07:14 +1100
commit8aa1062e0693289188c2fb705f2fa15d014f07a0 (patch)
tree4a6eb1101af72b22f51834cf955ad82fee374070 /pkg/gui/view_helpers.go
parent7e0a8f235ef6971a98fba9c91c7fa159ca842180 (diff)
extract out some logic for list views
Diffstat (limited to 'pkg/gui/view_helpers.go')
-rw-r--r--pkg/gui/view_helpers.go29
1 files changed, 16 insertions, 13 deletions
diff --git a/pkg/gui/view_helpers.go b/pkg/gui/view_helpers.go
index a8e4872e1..c23bf3e47 100644
--- a/pkg/gui/view_helpers.go
+++ b/pkg/gui/view_helpers.go
@@ -101,7 +101,7 @@ func (gui *Gui) newLineFocused(g *gocui.Gui, v *gocui.View) error {
case "status":
return gui.handleStatusSelect(g, v)
case "files":
- return gui.handleFileSelect(g, v, false)
+ return gui.handleFileSelect(g, v)
case "branches":
return gui.handleBranchSelect(g, v)
case "commits":
@@ -315,6 +315,11 @@ func (gui *Gui) getCommitFilesView() *gocui.View {
return v
}
+func (gui *Gui) getMenuView() *gocui.View {
+ v, _ := gui.g.View("menu")
+ return v
+}
+
func (gui *Gui) trimmedContent(v *gocui.View) string {
return strings.TrimSpace(v.Buffer())
}
@@ -362,19 +367,17 @@ func (gui *Gui) generalFocusLine(lineNumber int, bottomLine int, v *gocui.View)
return nil
}
-func (gui *Gui) changeSelectedLine(line *int, total int, up bool) {
- if up {
- if *line == -1 || *line == 0 {
- return
- }
-
- *line--
+func (gui *Gui) changeSelectedLine(line *int, total int, change int) {
+ // TODO: find out why we're doing this
+ if *line == -1 {
+ return
+ }
+ if *line+change < 0 {
+ *line = 0
+ } else if *line+change >= total {
+ *line = total - 1
} else {
- if *line == -1 || *line == total-1 {
- return
- }
-
- *line++
+ *line += change
}
}