summaryrefslogtreecommitdiffstats
path: root/pkg
diff options
context:
space:
mode:
authorCristian Betivu <cbetivu@gmail.com>2021-06-06 12:41:55 +0200
committerJesse Duffield <jessedduffield@gmail.com>2021-06-16 15:00:17 +1000
commit0c135515a5eb6cc11eec22b744aa06e6d52cf98e (patch)
treecda907ca9b745c0d02d12d5c53afa57acae1c2c3 /pkg
parent2b9df0ea061982639dcea51dbe09f60ef3ad7c15 (diff)
Use parent view for tab navigation
Diffstat (limited to 'pkg')
-rw-r--r--pkg/gui/menu_panel.go2
-rw-r--r--pkg/gui/view_helpers.go16
2 files changed, 16 insertions, 2 deletions
diff --git a/pkg/gui/menu_panel.go b/pkg/gui/menu_panel.go
index fcb1f7a7b..91071f200 100644
--- a/pkg/gui/menu_panel.go
+++ b/pkg/gui/menu_panel.go
@@ -74,11 +74,13 @@ func (gui *Gui) createMenu(title string, items []*menuItem, createMenuOptions cr
list := utils.RenderDisplayStrings(stringArrays)
+ parentView := gui.g.CurrentView()
x0, y0, x1, y1 := gui.getConfirmationPanelDimensions(false, list)
menuView, _ := gui.g.SetView("menu", x0, y0, x1, y1, 0)
menuView.Title = title
menuView.FgColor = theme.GocuiDefaultTextColor
menuView.ContainsList = true
+ menuView.ParentView = parentView
menuView.Clear()
menuView.SetOnSelectItem(gui.onSelectItemWrapper(func(selectedLine int) error {
return nil
diff --git a/pkg/gui/view_helpers.go b/pkg/gui/view_helpers.go
index dc4f4675d..4f42bfc18 100644
--- a/pkg/gui/view_helpers.go
+++ b/pkg/gui/view_helpers.go
@@ -358,7 +358,7 @@ func (gui *Gui) onViewTabClick(viewName string, tabIndex int) error {
}
func (gui *Gui) handleNextTab() error {
- v := gui.g.CurrentView()
+ v := getTabbedView(gui)
if v == nil {
return nil
}
@@ -370,7 +370,7 @@ func (gui *Gui) handleNextTab() error {
}
func (gui *Gui) handlePrevTab() error {
- v := gui.g.CurrentView()
+ v := getTabbedView(gui)
if v == nil {
return nil
}
@@ -392,3 +392,15 @@ func (gui *Gui) pageDelta(view *gocui.View) int {
return delta
}
+
+func getTabbedView(gui *Gui) *gocui.View {
+ v := gui.g.CurrentView()
+ if v == nil {
+ return nil
+ }
+ if v.Name() == "menu" {
+ v = v.ParentView
+ }
+
+ return v
+}