From b49416ed808e9a9802506cb5e0543dbf3b0e3dcd Mon Sep 17 00:00:00 2001 From: Tulir Asokan Date: Tue, 1 May 2018 19:17:57 +0300 Subject: Refactoring --- ui/ui.go | 26 +++++++++++++++++++------- 1 file changed, 19 insertions(+), 7 deletions(-) (limited to 'ui/ui.go') diff --git a/ui/ui.go b/ui/ui.go index ffd6fc6..2f45f27 100644 --- a/ui/ui.go +++ b/ui/ui.go @@ -22,6 +22,14 @@ import ( "maunium.net/go/tview" ) +type View string + +// Allowed views in GomuksUI +const ( + ViewLogin View = "login" + ViewMain View = "main" +) + type GomuksUI struct { gmx ifc.Gomuks app *tview.Application @@ -68,20 +76,24 @@ func (ui *GomuksUI) Render() { ui.app.Draw() } -func (ui *GomuksUI) SetView(name ifc.View) { +func (ui *GomuksUI) OnLogin() { + ui.SetView(ViewMain) +} + +func (ui *GomuksUI) OnLogout() { + ui.SetView(ViewLogin) +} + +func (ui *GomuksUI) SetView(name View) { ui.views.SwitchToPage(string(name)) } func (ui *GomuksUI) InitViews() tview.Primitive { - ui.views.AddPage(string(ifc.ViewLogin), ui.NewLoginView(), true, true) - ui.views.AddPage(string(ifc.ViewMain), ui.NewMainView(), true, false) + ui.views.AddPage(string(ViewLogin), ui.NewLoginView(), true, true) + ui.views.AddPage(string(ViewMain), ui.NewMainView(), true, false) return ui.views } func (ui *GomuksUI) MainView() ifc.MainView { return ui.mainView } - -func (ui *GomuksUI) LoginView() ifc.LoginView { - return ui.loginView -} -- cgit v1.2.3