From b76deea9635d56bfa740127683e43bf817f5e3be Mon Sep 17 00:00:00 2001 From: Drew DeVault Date: Sun, 13 Jan 2019 13:25:56 -0500 Subject: Move status line into account, update behavior --- widgets/aerc.go | 15 +++++++++------ 1 file changed, 9 insertions(+), 6 deletions(-) (limited to 'widgets/aerc.go') diff --git a/widgets/aerc.go b/widgets/aerc.go index 4351f3b..58e8972 100644 --- a/widgets/aerc.go +++ b/widgets/aerc.go @@ -12,6 +12,7 @@ import ( ) type Aerc struct { + accounts map[string]*AccountView grid *libui.Grid tabs *libui.Tabs statusbar *libui.Stack @@ -41,16 +42,16 @@ func NewAerc(conf *config.AercConfig, logger *log.Logger) *Aerc { mainGrid.AddChild(tabs.TabStrip).At(0, 1) mainGrid.AddChild(tabs.TabContent).At(1, 0).Span(1, 2) + accts := make(map[string]*AccountView) + for _, acct := range conf.Accounts { - view, err := NewAccountView(&acct, logger, statusbar) - if err != nil { - // TODO: something useful (update statusline?) - panic(err) - } + view := NewAccountView(&acct, logger, statusbar) + accts[acct.Name] = view tabs.Add(view, acct.Name) } return &Aerc{ + accounts: accts, grid: mainGrid, statusbar: statusbar, statusline: statusline, @@ -59,7 +60,9 @@ func NewAerc(conf *config.AercConfig, logger *log.Logger) *Aerc { } func (aerc *Aerc) OnInvalidate(onInvalidate func(d libui.Drawable)) { - aerc.grid.OnInvalidate(onInvalidate) + aerc.grid.OnInvalidate(func(_ libui.Drawable) { + onInvalidate(aerc) + }) } func (aerc *Aerc) Invalidate() { -- cgit v1.2.3