diff options
| author | Ibrahim Serdar Acikgoz <serdaracikgoz86@gmail.com> | 2018-12-06 11:30:23 +0300 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2018-12-06 11:30:23 +0300 |
| commit | 24b407e4a9d4ee4e20e77ba186a81fa52b13397b (patch) | |
| tree | 30a5807b02670da42b57d2af322435d63200edfa /pkg/gui/gui-navigate.go | |
| parent | Update README.md (diff) | |
| parent | added version number flag (diff) | |
| download | gitbatch-24b407e4a9d4ee4e20e77ba186a81fa52b13397b.tar.gz | |
Merge pull request #25 from isacikgoz/develop
Develop
Diffstat (limited to 'pkg/gui/gui-navigate.go')
| -rw-r--r-- | pkg/gui/gui-navigate.go | 54 |
1 files changed, 54 insertions, 0 deletions
diff --git a/pkg/gui/gui-navigate.go b/pkg/gui/gui-navigate.go new file mode 100644 index 0000000..56d96de --- /dev/null +++ b/pkg/gui/gui-navigate.go @@ -0,0 +1,54 @@ +package gui + +import ( + log "github.com/sirupsen/logrus" + "github.com/jroimartin/gocui" +) + +// focus to next view +func (gui *Gui) nextView(g *gocui.Gui, v *gocui.View) error { + var focusedViewName string + if v == nil || v.Name() == mainViews[len(mainViews)-1].Name { + focusedViewName = mainViews[0].Name + } else { + for i := range mainViews { + if v.Name() == mainViews[i].Name { + focusedViewName = mainViews[i+1].Name + break + } + if i == len(mainViews)-1 { + return nil + } + } + } + if _, err := g.SetCurrentView(focusedViewName); err != nil { + log.Warn("Loading view cannot be focused.") + return nil + } + gui.updateKeyBindingsView(g, focusedViewName) + return nil +} + +// focus to previous view +func (gui *Gui) previousView(g *gocui.Gui, v *gocui.View) error { + var focusedViewName string + if v == nil || v.Name() == mainViews[0].Name { + focusedViewName = mainViews[len(mainViews)-1].Name + } else { + for i := range mainViews { + if v.Name() == mainViews[i].Name { + focusedViewName = mainViews[i-1].Name + break + } + if i == len(mainViews)-1 { + return nil + } + } + } + if _, err := g.SetCurrentView(focusedViewName); err != nil { + log.Warn("Loading view cannot be focused.") + return nil + } + gui.updateKeyBindingsView(g, focusedViewName) + return nil +} |
