aboutsummaryrefslogtreecommitdiffstats
path: root/widgets/compose.go
diff options
context:
space:
mode:
authorKoni Marti <koni.marti@gmail.com>2023-05-06 11:30:48 +0200
committerRobin Jarry <robin@jarry.cc>2023-05-16 17:12:00 +0200
commit30c1a30168dfff8ca5eecb8d0fa42ab4b638f79d (patch)
tree97d177a8e399ed7ad7f107b85df1cd4d246e50ff /widgets/compose.go
parent6b6aaf3ae131971d05ab3f849ea3db14c6a6e055 (diff)
downloadaerc-30c1a30168dfff8ca5eecb8d0fa42ab4b638f79d.tar.gz
templates: use template interface consistently
Use the template interface consistently. Before, we have exported the state.TemplateData struct and used it in most places instead of the models.TemplateData interface. This lead to some inconsistencies, i.e. Role() has been defined on the exported struct but not on the interface. Unexport the state.TemplateData struct, add a DataSetter interface to set the data needed for the template data and call the Data() method which returns a models.TemplateData interface when the template data is needed. Signed-off-by: Koni Marti <koni.marti@gmail.com> Acked-by: Tim Culverhouse <tim@timculverhouse.com>
Diffstat (limited to 'widgets/compose.go')
-rw-r--r--widgets/compose.go11
1 files changed, 6 insertions, 5 deletions
diff --git a/widgets/compose.go b/widgets/compose.go
index 4735782b..ea6a50a4 100644
--- a/widgets/compose.go
+++ b/widgets/compose.go
@@ -96,11 +96,11 @@ func NewComposer(
completer: nil,
}
- var data state.TemplateData
+ data := state.NewDataSetter()
data.SetAccount(acct.acct)
data.SetFolder(acct.Directories().SelectedDirectory())
data.SetHeaders(h, orig)
- if err := c.AddTemplate(template, &data); err != nil {
+ if err := c.AddTemplate(template, data.Data()); err != nil {
return nil, err
}
c.AddSignature()
@@ -1588,8 +1588,6 @@ func (c *Composer) setTitle() {
return
}
- var data state.TemplateData
-
header := c.header.Copy()
// Get subject direct from the textinput
subject, ok := c.editors["subject"]
@@ -1599,12 +1597,15 @@ func (c *Composer) setTitle() {
if header.Get("subject") == "" {
header.SetSubject("New Email")
}
+
+ data := state.NewDataSetter()
data.SetAccount(c.acctConfig)
data.SetFolder(c.acct.Directories().SelectedDirectory())
data.SetHeaders(&header, c.parent)
var buf bytes.Buffer
- err := templates.Render(c.acct.UiConfig().TabTitleComposer, &buf, &data)
+ err := templates.Render(c.acct.UiConfig().TabTitleComposer, &buf,
+ data.Data())
if err != nil {
c.acct.PushError(err)
return