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/compose.go | |
parent | 2b3e123cb86f9b4c5853e31d9e76c2b0d083f90a (diff) | |
download | aerc-475b697bdfd7a5821282174f14f8d904e47aff4d.tar.gz |
Implement (basic form) of :reply
Diffstat (limited to 'widgets/compose.go')
-rw-r--r-- | widgets/compose.go | 14 |
1 files changed, 11 insertions, 3 deletions
diff --git a/widgets/compose.go b/widgets/compose.go index 2359cad4..02a9d0c3 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 } |