From e53ad9f11c56ac9d6cd866a7f3b4b0ac3c98f544 Mon Sep 17 00:00:00 2001 From: Himanshu Date: Wed, 2 Dec 2020 21:48:36 +0530 Subject: [PATCH] Bugfix: Fix active list when switched from any other page to board page --- ui/add.go | 2 ++ ui/board.go | 2 +- ui/edit.go | 2 ++ ui/help.go | 3 ++- ui/info.go | 1 + ui/ui.go | 6 +----- 6 files changed, 9 insertions(+), 7 deletions(-) diff --git a/ui/add.go b/ui/add.go index 55d5a48..d20aee4 100644 --- a/ui/add.go +++ b/ui/add.go @@ -21,10 +21,12 @@ func NewAddPage(p *BoardPage) *tview.Form { p.data.Save() p.redraw() pages.SwitchToPage("board") + app.SetFocus(p.lists[p.activeListIdx]) }). AddButton("Cancel", func() { pages.RemovePage("add") pages.SwitchToPage("board") + app.SetFocus(p.lists[p.activeListIdx]) }) form.SetBorder(true).SetTitle("Create Task").SetTitleAlign(tview.AlignCenter) diff --git a/ui/board.go b/ui/board.go index 0bb64d4..e057a84 100644 --- a/ui/board.go +++ b/ui/board.go @@ -95,7 +95,7 @@ func (p *BoardPage) Page() tview.Primitive { p.data.Save() app.Stop() case '?': - pages.SwitchToPage("help") + pages.AddAndSwitchToPage("help", NewHelpPage(p), true) case ' ': pages.AddAndSwitchToPage("info", NewInfoPage(p, p.activeListIdx, p.activeTaskIdxs[p.activeListIdx]), true) default: diff --git a/ui/edit.go b/ui/edit.go index 479990d..d21cf2e 100644 --- a/ui/edit.go +++ b/ui/edit.go @@ -29,10 +29,12 @@ func NewEditPage(p *BoardPage, listIdx, taskIdx int) *tview.Form { p.data.Save() p.redraw() pages.SwitchToPage("board") + app.SetFocus(p.lists[p.activeListIdx]) }). AddButton("Cancel", func() { pages.RemovePage("edit") pages.SwitchToPage("board") + app.SetFocus(p.lists[p.activeListIdx]) }) form.SetBorder(true).SetTitle("Edit Task").SetTitleAlign(tview.AlignCenter) diff --git a/ui/help.go b/ui/help.go index 8660822..bc88eed 100644 --- a/ui/help.go +++ b/ui/help.go @@ -18,7 +18,7 @@ q: quit ` // NewHelpPage displays the help page that contains all the keybinds of the application -func NewHelpPage() *tview.Modal { +func NewHelpPage(p *BoardPage) *tview.Modal { help := tview.NewModal(). SetText(helpText). SetBackgroundColor(theme.PrimitiveBackgroundColor). @@ -27,6 +27,7 @@ func NewHelpPage() *tview.Modal { if buttonLabel == "OK" { pages.HidePage("help") pages.SwitchToPage("board") + app.SetFocus(p.lists[p.activeListIdx]) } }) diff --git a/ui/info.go b/ui/info.go index 6b20a08..8dc501d 100644 --- a/ui/info.go +++ b/ui/info.go @@ -22,6 +22,7 @@ func NewInfoPage(p *BoardPage, listIdx, taskIdx int) *tview.Modal { if buttonLabel == "OK" { pages.RemovePage("info") pages.SwitchToPage("board") + app.SetFocus(p.lists[p.activeListIdx]) } }) diff --git a/ui/ui.go b/ui/ui.go index 3e01430..c1d3c2e 100644 --- a/ui/ui.go +++ b/ui/ui.go @@ -65,11 +65,7 @@ func start() { boardPage := NewBoardPage() boardPageFrame := boardPage.Page() - helpPage := NewHelpPage() - pages = tview.NewPages(). - AddPage("board", boardPageFrame, true, true). - AddPage("help", helpPage, false, false) - + AddPage("board", boardPageFrame, true, true) app.SetRoot(pages, true).SetFocus(boardPageFrame) }