diff options
| author | Ibrahim Serdar Acikgoz <serdaracikgoz86@gmail.com> | 2018-12-05 02:01:42 +0300 |
|---|---|---|
| committer | Ibrahim Serdar Acikgoz <serdaracikgoz86@gmail.com> | 2018-12-05 02:01:42 +0300 |
| commit | b04018029aa9dd0e1118a4bafdd0a9755a047be4 (patch) | |
| tree | 2bb94bf7201114528d229b34a5e7d7207c21a083 /pkg/gui/gui-util.go | |
| parent | select all feature added (diff) | |
| download | gitbatch-b04018029aa9dd0e1118a4bafdd0a9755a047be4.tar.gz | |
code reuse improved and added scrolling to controls view
Diffstat (limited to 'pkg/gui/gui-util.go')
| -rw-r--r-- | pkg/gui/gui-util.go | 33 |
1 files changed, 33 insertions, 0 deletions
diff --git a/pkg/gui/gui-util.go b/pkg/gui/gui-util.go index d3f0934..2ae8cae 100644 --- a/pkg/gui/gui-util.go +++ b/pkg/gui/gui-util.go @@ -132,3 +132,36 @@ func (gui *Gui) refreshAfterSort(g *gocui.Gui) error { gui.refreshViews(g, entity) return nil } + +// cursor down acts like half-page down for faster scrolling +func (gui *Gui) fastCursorDown(g *gocui.Gui, v *gocui.View) error { + if v != nil { + ox, oy := v.Origin() + _, vy := v.Size() + + // TODO: do something when it hits bottom + if err := v.SetOrigin(ox, oy+vy/2); err != nil { + return err + } + } + return nil +} + +// cursor up acts like half-page up for faster scrolling +func (gui *Gui) fastCursorUp(g *gocui.Gui, v *gocui.View) error { + if v != nil { + ox, oy := v.Origin() + _, vy := v.Size() + + if oy-vy/2 > 0 { + if err := v.SetOrigin(ox, oy-vy/2); err != nil { + return err + } + } else if oy-vy/2 <= 0 { + if err := v.SetOrigin(0, 0); err != nil { + return err + } + } + } + return nil +} |
