From 99527f56845f0e01e1f2cba010e2fbcd3a354952 Mon Sep 17 00:00:00 2001 From: Manos Pitsidianakis Date: Mon, 6 May 2019 15:04:28 +0300 Subject: [PATCH] ui: format From column in CompactListing closes #87 --- ui/src/components/mail/listing/compact.rs | 20 ++++++++++++++++++-- 1 file changed, 18 insertions(+), 2 deletions(-) diff --git a/ui/src/components/mail/listing/compact.rs b/ui/src/components/mail/listing/compact.rs index e6f65c254..ecf86d9f5 100644 --- a/ui/src/components/mail/listing/compact.rs +++ b/ui/src/components/mail/listing/compact.rs @@ -50,6 +50,22 @@ struct MailboxView { id: ComponentId, } +macro_rules! address_list { + (($name:expr) as comma_sep_list) => {{ + let mut ret: String = + $name + .into_iter() + .fold(String::new(), |mut s: String, n: &Address| { + s.extend(n.to_string().chars()); + s.push_str(", "); + s + }); + ret.pop(); + ret.pop(); + ret + }}; +} + macro_rules! column_str { ( struct $name:ident(String)) => { @@ -91,14 +107,14 @@ impl MailboxView { if len > 0 { ( IndexNoString(idx.to_string()), - FromString(format!("{:?}", e.from())), + FromString(address_list!((e.from()) as comma_sep_list)), DateString(MailboxView::format_date(e)), SubjectString(format!("{} ({})", e.subject(), len)), ) } else { ( IndexNoString(idx.to_string()), - FromString(format!("{:?}", e.from())), + FromString(address_list!((e.from()) as comma_sep_list)), DateString(MailboxView::format_date(e)), SubjectString(e.subject().to_string()), )