aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--widgets/msgviewer.go6
1 files changed, 5 insertions, 1 deletions
diff --git a/widgets/msgviewer.go b/widgets/msgviewer.go
index 64762f76..e6764788 100644
--- a/widgets/msgviewer.go
+++ b/widgets/msgviewer.go
@@ -255,9 +255,13 @@ func (ps *PartSwitcher) Draw(ctx *ui.Context) {
for i, part := range ps.parts {
style := tcell.StyleDefault.Reverse(ps.selected == i)
ctx.Fill(0, y+i, ctx.Width(), 1, ' ', style)
- ctx.Printf(len(part.index)*2, y+i, style, "%s/%s",
+ name := fmt.Sprintf("%s/%s",
strings.ToLower(part.part.MIMEType),
strings.ToLower(part.part.MIMESubType))
+ if filename, ok := part.part.DispositionParams["filename"]; ok {
+ name += fmt.Sprintf(" (%s)", filename)
+ }
+ ctx.Printf(len(part.index)*2, y+i, style, "%s", name)
}
ps.parts[ps.selected].Draw(ctx.Subcontext(
0, 0, ctx.Width(), ctx.Height()-height))