diff options
author | Moritz Poldrack <git@moritz.sh> | 2022-06-22 12:19:40 +0200 |
---|---|---|
committer | Robin Jarry <robin@jarry.cc> | 2022-06-24 21:44:05 +0200 |
commit | b7d8918bbd75502e7144a146dd3400a17a441c36 (patch) | |
tree | 87e4dcdb4ddbb892f6dd0b616b1e1814a9d9c910 /widgets | |
parent | ecf47542cb5ec5da7d699b36cf8b8af2cbf0a7a6 (diff) | |
download | aerc-b7d8918bbd75502e7144a146dd3400a17a441c36.tar.gz |
pgp: add icon for unencrypted, unsigned messages if an icon is set
Signed-off-by: Moritz Poldrack <git@moritz.sh>
Tested-by: Tim Culverhouse <tim@timculverhouse.com>
Diffstat (limited to 'widgets')
-rw-r--r-- | widgets/msgviewer.go | 6 | ||||
-rw-r--r-- | widgets/pgpinfo.go | 25 |
2 files changed, 18 insertions, 13 deletions
diff --git a/widgets/msgviewer.go b/widgets/msgviewer.go index 0e6af5b5..d88785ce 100644 --- a/widgets/msgviewer.go +++ b/widgets/msgviewer.go @@ -93,9 +93,9 @@ func NewMessageViewer(acct *AccountView, {Strategy: ui.SIZE_EXACT, Size: ui.Const(headerHeight)}, } - if msg.MessageDetails() != nil { + if msg.MessageDetails() != nil || conf.Ui.IconUnencrypted != "" { height := 1 - if msg.MessageDetails().IsSigned && msg.MessageDetails().IsEncrypted { + if msg.MessageDetails() != nil && msg.MessageDetails().IsSigned && msg.MessageDetails().IsEncrypted { height = 2 } rows = append(rows, ui.GridSpec{Strategy: ui.SIZE_EXACT, Size: ui.Const(height)}) @@ -125,7 +125,7 @@ func NewMessageViewer(acct *AccountView, borderChar := acct.UiConfig().BorderCharHorizontal grid.AddChild(header).At(0, 0) - if msg.MessageDetails() != nil { + if msg.MessageDetails() != nil || conf.Ui.IconUnencrypted != "" { grid.AddChild(NewPGPInfo(msg.MessageDetails(), acct.UiConfig())).At(1, 0) grid.AddChild(ui.NewFill(borderChar, borderStyle)).At(2, 0) grid.AddChild(switcher).At(3, 0) diff --git a/widgets/pgpinfo.go b/widgets/pgpinfo.go index 38118b73..2b21c22a 100644 --- a/widgets/pgpinfo.go +++ b/widgets/pgpinfo.go @@ -40,7 +40,7 @@ func (p *PGPInfo) DrawSignature(ctx *ui.Context) { p.details.SignatureError) } else { icon := p.uiConfig.IconSigned - if p.details.IsEncrypted { + if p.details.IsEncrypted && p.uiConfig.IconSignedEncrypted != "" { icon = p.uiConfig.IconSignedEncrypted } x := ctx.Printf(0, 0, validStyle, "%s Authentic ", icon) @@ -55,29 +55,34 @@ func (p *PGPInfo) DrawEncryption(ctx *ui.Context, y int) { validStyle := p.uiConfig.GetStyle(config.STYLE_SUCCESS) defaultStyle := p.uiConfig.GetStyle(config.STYLE_DEFAULT) + // if a sign-encrypt combination icon is set, use that icon := p.uiConfig.IconEncrypted - if p.details.IsSigned && p.details.SignatureValidity == models.Valid { + if p.details.IsSigned && p.details.SignatureValidity == models.Valid && p.uiConfig.IconSignedEncrypted != "" { icon = strings.Repeat(" ", utf8.RuneCountInString(p.uiConfig.IconSignedEncrypted)) } - x := ctx.Printf(0, y, validStyle, "%s Encrypted ", icon) - x += ctx.Printf(x, y, defaultStyle, - "To %s (%8X) ", p.details.DecryptedWith, p.details.DecryptedWithKeyId) + x := ctx.Printf(0, y, validStyle, "%s Encrypted", icon) + x += ctx.Printf(x+1, y, defaultStyle, "To %s (%8X) ", p.details.DecryptedWith, p.details.DecryptedWithKeyId) if !p.details.IsSigned { - x += ctx.Printf(x, y, warningStyle, - "(message not signed!)") + x += ctx.Printf(x, y, warningStyle, "(message not signed!)") } } func (p *PGPInfo) Draw(ctx *ui.Context) { + warningStyle := p.uiConfig.GetStyle(config.STYLE_WARNING) defaultStyle := p.uiConfig.GetStyle(config.STYLE_DEFAULT) ctx.Fill(0, 0, ctx.Width(), ctx.Height(), ' ', defaultStyle) - if p.details.IsSigned && p.details.IsEncrypted { + + switch { + case p.details == nil && p.uiConfig.IconUnencrypted != "": + x := ctx.Printf(0, 0, warningStyle, "%s ", p.uiConfig.IconUnencrypted) + ctx.Printf(x, 0, defaultStyle, "message unencrypted and unsigned") + case p.details.IsSigned && p.details.IsEncrypted: p.DrawSignature(ctx) p.DrawEncryption(ctx, 1) - } else if p.details.IsSigned { + case p.details.IsSigned: p.DrawSignature(ctx) - } else if p.details.IsEncrypted { + case p.details.IsEncrypted: p.DrawEncryption(ctx, 0) } } |