summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--Notmuch/Message.hs6
-rw-r--r--RenderTreeView.hs3
2 files changed, 8 insertions, 1 deletions
diff --git a/Notmuch/Message.hs b/Notmuch/Message.hs
index 48fdfeb..d458c5f 100644
--- a/Notmuch/Message.hs
+++ b/Notmuch/Message.hs
@@ -40,6 +40,12 @@ instance Eq MessagePart where
a == b = partID a == partID b
+contentSize :: MessageContent -> Int
+contentSize (ContentText text) = T.length text
+contentSize (ContentMultipart parts) = sum $ map (contentSize . partContent) parts
+contentSize (ContentMsgRFC822 xs) = sum $ map (sum . map (contentSize . partContent) . snd) xs
+
+
parseRFC822 :: V.Vector Value -> Parser MessageContent
parseRFC822 lst = ContentMsgRFC822 . V.toList <$> V.mapM p lst
where
diff --git a/RenderTreeView.hs b/RenderTreeView.hs
index 5d1a9bf..155cf52 100644
--- a/RenderTreeView.hs
+++ b/RenderTreeView.hs
@@ -170,7 +170,8 @@ renderTreeView1 now hasFocus x = case x of
t = Plain $ T.unpack $ CI.original $ Notmuch.partContentType p
filename = maybe "" (Plain . (" "<>) . show) $ Notmuch.partContentFilename p
charset = maybe "" (Plain . (" "<>) . show) $ Notmuch.partContentCharset p
- in c $ "part#" <> i <> " " <> t <> filename <> charset
+ size = Plain $ show $ Notmuch.contentSize (Notmuch.partContent p)
+ in c $ "part#" <> i <> " " <> t <> filename <> charset <> " " <> size
TVMessageQuoteLine _ _ _ s ->
if hasFocus