aboutsummaryrefslogtreecommitdiffstats
path: root/widgets
diff options
context:
space:
mode:
authorMoritz Poldrack <git@moritz.sh>2022-06-22 12:19:40 +0200
committerRobin Jarry <robin@jarry.cc>2022-06-24 21:44:05 +0200
commitb7d8918bbd75502e7144a146dd3400a17a441c36 (patch)
tree87e4dcdb4ddbb892f6dd0b616b1e1814a9d9c910 /widgets
parentecf47542cb5ec5da7d699b36cf8b8af2cbf0a7a6 (diff)
downloadaerc-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.go6
-rw-r--r--widgets/pgpinfo.go25
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)
}
}