diff options
author | Drew DeVault <sir@cmpwn.com> | 2019-05-16 12:15:34 -0400 |
---|---|---|
committer | Drew DeVault <sir@cmpwn.com> | 2019-05-16 12:15:34 -0400 |
commit | 475b697bdfd7a5821282174f14f8d904e47aff4d (patch) | |
tree | 7febf2e25cede5809f1d40c934d379315e06bd64 /widgets | |
parent | 2b3e123cb86f9b4c5853e31d9e76c2b0d083f90a (diff) |
Implement (basic form) of :reply
Diffstat (limited to 'widgets')
-rw-r--r-- | widgets/account.go | 12 | ||||
-rw-r--r-- | widgets/compose.go | 14 |
2 files changed, 19 insertions, 7 deletions
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 } |