From 475b697bdfd7a5821282174f14f8d904e47aff4d Mon Sep 17 00:00:00 2001 From: Drew DeVault Date: Thu, 16 May 2019 12:15:34 -0400 Subject: Implement (basic form) of :reply --- widgets/account.go | 12 ++++++++---- widgets/compose.go | 14 +++++++++++--- 2 files changed, 19 insertions(+), 7 deletions(-) (limited to 'widgets') diff --git a/widgets/account.go b/widgets/account.go index c252e38..ab32f5d 100644 --- a/widgets/account.go +++ b/widgets/account.go @@ -84,6 +84,14 @@ func (acct *AccountView) AccountConfig() *config.AccountConfig { return acct.acct } +func (acct *AccountView) Worker() *types.Worker { + return acct.worker +} + +func (acct *AccountView) Logger() *log.Logger { + return acct.logger +} + func (acct *AccountView) Name() string { return acct.acct.Name } @@ -110,10 +118,6 @@ func (acct *AccountView) Focus(focus bool) { // TODO: Unfocus children I guess } -func (acct *AccountView) Worker() *types.Worker { - return acct.worker -} - func (acct *AccountView) connected(msg types.WorkerMessage) { switch msg := msg.(type) { case *types.Done: diff --git a/widgets/compose.go b/widgets/compose.go index 2359cad..02a9d0c 100644 --- a/widgets/compose.go +++ b/widgets/compose.go @@ -14,6 +14,7 @@ import ( "github.com/mattn/go-runewidth" "git.sr.ht/~sircmpwn/aerc2/config" + "git.sr.ht/~sircmpwn/aerc2/lib" "git.sr.ht/~sircmpwn/aerc2/lib/ui" "git.sr.ht/~sircmpwn/aerc2/worker/types" ) @@ -123,6 +124,13 @@ func (c *Composer) Defaults(defaults map[string]string) *Composer { return c } +func (c *Composer) FocusTerminal() *Composer { + c.focusable[c.focused].Focus(false) + c.focused = 3 + c.focusable[c.focused].Focus(true) + return c +} + func (c *Composer) OnSubjectChange(fn func(subject string)) { c.headers.subject.OnChange(func() { fn(c.headers.subject.input.String()) @@ -197,9 +205,9 @@ func (c *Composer) PrepareHeader() (*mail.Header, []string, error) { c.email.Seek(0, os.SEEK_SET) } // Update headers - // TODO: Custom header fields mhdr := (*message.Header)(&header.Header) mhdr.SetContentType("text/plain", map[string]string{"charset": "UTF-8"}) + mhdr.SetText("Message-Id", lib.GenerateMessageId()) if subject, _ := header.Subject(); subject == "" { header.SetSubject(c.headers.subject.input.String()) } @@ -228,14 +236,14 @@ func (c *Composer) PrepareHeader() (*mail.Header, []string, error) { rcpts = append(rcpts, addr.Address) } } + // TODO: Add cc, bcc to rcpts // Merge in additional headers txthdr := mhdr.Header for key, value := range c.defaults { - if !txthdr.Has(key) { + if !txthdr.Has(key) && value != "" { mhdr.SetText(key, value) } } - // TODO: Add cc, bcc to rcpts return &header, rcpts, nil } -- cgit v1.2.3