melib/email/address: return Option in get_display_name
parent
c6c0da7fcb
commit
d57dd9c98e
|
@ -87,8 +87,8 @@ impl PartialEq for MailboxAddress {
|
|||
/// ```rust
|
||||
/// let (rest_bytes, addr) = melib::email::parser::address::address("=?utf-8?q?J=C3=B6rg_Doe?= <joerg@example.com>".as_bytes()).unwrap();
|
||||
/// assert!(rest_bytes.is_empty());
|
||||
/// assert_eq!(addr.get_display_name(), "Jörg Doe");
|
||||
/// assert_eq!(addr.get_email(), "joerg@example.com");
|
||||
/// assert_eq!(addr.get_display_name(), Some("Jörg Doe".to_string()));
|
||||
/// assert_eq!(addr.get_email(), "joerg@example.com".to_string());
|
||||
/// ```
|
||||
#[derive(Clone, Serialize, Deserialize)]
|
||||
pub enum Address {
|
||||
|
@ -167,10 +167,15 @@ impl Address {
|
|||
/// │ │
|
||||
/// address_spec address_spec
|
||||
///```
|
||||
pub fn get_display_name(&self) -> String {
|
||||
match self {
|
||||
pub fn get_display_name(&self) -> Option<String> {
|
||||
let ret = match self {
|
||||
Address::Mailbox(m) => m.display_name.display(&m.raw),
|
||||
Address::Group(g) => g.display_name.display(&g.raw),
|
||||
};
|
||||
if ret.is_empty() {
|
||||
None
|
||||
} else {
|
||||
Some(ret)
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
@ -1212,7 +1212,9 @@ impl Component for MailView {
|
|||
for addr in envelope.from().iter().chain(envelope.to().iter()) {
|
||||
let mut new_card: Card = Card::new();
|
||||
new_card.set_email(addr.get_email());
|
||||
new_card.set_name(addr.get_display_name());
|
||||
if let Some(display_name) = addr.get_display_name() {
|
||||
new_card.set_name(display_name);
|
||||
}
|
||||
entries.push((new_card, format!("{}", addr)));
|
||||
}
|
||||
drop(envelope);
|
||||
|
|
Loading…
Reference in New Issue