aboutsummaryrefslogtreecommitdiff
path: root/commands
diff options
context:
space:
mode:
authorDaniel Bridges <bridges2@gmail.com>2019-07-22 16:29:07 -0700
committerDrew DeVault <sir@cmpwn.com>2019-07-26 14:22:04 -0400
commit67fb0938a66605a0b6a837005804637b348b250d (patch)
treeb9bb363185b248ae8eed29e7b8388d8a71433d3e /commands
parent1b673b5ea7d06ef914e9d48ff7299f8b5f2119fd (diff)
Support configurable header layout in compose widget
Diffstat (limited to 'commands')
-rw-r--r--commands/account/compose.go4
-rw-r--r--commands/msg/reply.go17
-rw-r--r--commands/msg/unsubscribe.go14
3 files changed, 20 insertions, 15 deletions
diff --git a/commands/account/compose.go b/commands/account/compose.go
index cafba78..f615c0b 100644
--- a/commands/account/compose.go
+++ b/commands/account/compose.go
@@ -27,9 +27,9 @@ func (_ Compose) Execute(aerc *widgets.Aerc, args []string) error {
}
acct := aerc.SelectedAccount()
composer := widgets.NewComposer(
- aerc.Config(), acct.AccountConfig(), acct.Worker())
+ aerc.Config(), acct.AccountConfig(), acct.Worker(), nil)
tab := aerc.NewTab(composer, "New email")
- composer.OnSubjectChange(func(subject string) {
+ composer.OnHeaderChange("Subject", func(subject string) {
if subject == "" {
tab.Name = "New email"
} else {
diff --git a/commands/msg/reply.go b/commands/msg/reply.go
index 85c5d3a..029cb42 100644
--- a/commands/msg/reply.go
+++ b/commands/msg/reply.go
@@ -113,14 +113,15 @@ func (_ reply) Execute(aerc *widgets.Aerc, args []string) error {
}
}
+ defaults := map[string]string{
+ "To": strings.Join(to, ", "),
+ "Cc": strings.Join(cc, ", "),
+ "Subject": subject,
+ "In-Reply-To": msg.Envelope.MessageId,
+ }
+
composer := widgets.NewComposer(
- aerc.Config(), acct.AccountConfig(), acct.Worker()).
- Defaults(map[string]string{
- "To": strings.Join(to, ", "),
- "Cc": strings.Join(cc, ", "),
- "Subject": subject,
- "In-Reply-To": msg.Envelope.MessageId,
- })
+ aerc.Config(), acct.AccountConfig(), acct.Worker(), defaults)
if args[0] == "reply" {
composer.FocusTerminal()
@@ -128,7 +129,7 @@ func (_ reply) Execute(aerc *widgets.Aerc, args []string) error {
addTab := func() {
tab := aerc.NewTab(composer, subject)
- composer.OnSubjectChange(func(subject string) {
+ composer.OnHeaderChange("Subject", func(subject string) {
if subject == "" {
tab.Name = "New email"
} else {
diff --git a/commands/msg/unsubscribe.go b/commands/msg/unsubscribe.go
index 720ff43..f18da07 100644
--- a/commands/msg/unsubscribe.go
+++ b/commands/msg/unsubscribe.go
@@ -83,15 +83,19 @@ func parseUnsubscribeMethods(header string) (methods []*url.URL) {
func unsubscribeMailto(aerc *widgets.Aerc, u *url.URL) error {
widget := aerc.SelectedTab().(widgets.ProvidesMessage)
acct := widget.SelectedAccount()
- composer := widgets.NewComposer(aerc.Config(), acct.AccountConfig(),
- acct.Worker())
- composer.Defaults(map[string]string{
+ defaults := map[string]string{
"To": u.Opaque,
"Subject": u.Query().Get("subject"),
- })
+ }
+ composer := widgets.NewComposer(
+ aerc.Config(),
+ acct.AccountConfig(),
+ acct.Worker(),
+ defaults,
+ )
composer.SetContents(strings.NewReader(u.Query().Get("body")))
tab := aerc.NewTab(composer, "unsubscribe")
- composer.OnSubjectChange(func(subject string) {
+ composer.OnHeaderChange("Subject", func(subject string) {
if subject == "" {
tab.Name = "unsubscribe"
} else {