widget: Add ProvidesMessage interface
Consists of 3 functions * Store: Access to MessageStore type * SelectedAccount: Access to Account widget that the target widget belongs to * SelectedMessage: Current message (selected in msglist or the one we are viewing) Signed-off-by: Kevin Kuehler <keur@ocf.berkeley.edu>
This commit is contained in:
parent
2be985fecb
commit
753adb9069
10 changed files with 93 additions and 18 deletions
widgets
|
@ -24,6 +24,7 @@ import (
|
|||
|
||||
type MessageViewer struct {
|
||||
ui.Invalidatable
|
||||
acct *AccountView
|
||||
conf *config.AercConfig
|
||||
err error
|
||||
grid *ui.Grid
|
||||
|
@ -55,7 +56,7 @@ func formatAddresses(addrs []*imap.Address) string {
|
|||
return val.String()
|
||||
}
|
||||
|
||||
func NewMessageViewer(conf *config.AercConfig,
|
||||
func NewMessageViewer(acct *AccountView, conf *config.AercConfig,
|
||||
store *lib.MessageStore, msg *types.MessageInfo) *MessageViewer {
|
||||
|
||||
grid := ui.NewGrid().Rows([]ui.GridSpec{
|
||||
|
@ -124,6 +125,7 @@ func NewMessageViewer(conf *config.AercConfig,
|
|||
grid.AddChild(switcher).At(1, 0)
|
||||
|
||||
return &MessageViewer{
|
||||
acct: acct,
|
||||
grid: grid,
|
||||
msg: msg,
|
||||
store: store,
|
||||
|
@ -185,6 +187,18 @@ func (mv *MessageViewer) OnInvalidate(fn func(d ui.Drawable)) {
|
|||
})
|
||||
}
|
||||
|
||||
func (mv *MessageViewer) Store() *lib.MessageStore {
|
||||
return mv.store
|
||||
}
|
||||
|
||||
func (mv *MessageViewer) SelectedAccount() *AccountView {
|
||||
return mv.acct
|
||||
}
|
||||
|
||||
func (mv *MessageViewer) SelectedMessage() *types.MessageInfo {
|
||||
return mv.msg
|
||||
}
|
||||
|
||||
func (mv *MessageViewer) CurrentPart() *PartInfo {
|
||||
switcher := mv.switcher
|
||||
part := switcher.parts[switcher.selected]
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue