ui/listings: truncate subject at 150 grapheme width
Large subjects would cause large CellBuffer allocations.async
parent
b401b64f35
commit
7432be5aaa
|
@ -563,10 +563,12 @@ impl CompactListing {
|
|||
tags.pop();
|
||||
}
|
||||
}
|
||||
let mut subject = e.subject().to_string();
|
||||
subject.truncate_at_boundary(150);
|
||||
if thread_node.len() > 0 {
|
||||
EntryStrings {
|
||||
date: DateString(ConversationsListing::format_date(thread_node)),
|
||||
subject: SubjectString(format!("{} ({})", e.subject(), thread_node.len(),)),
|
||||
subject: SubjectString(format!("{} ({})", subject, thread_node.len(),)),
|
||||
flag: FlagString(format!(
|
||||
"{}{}",
|
||||
if e.has_attachments() { "π" } else { "" },
|
||||
|
@ -578,7 +580,7 @@ impl CompactListing {
|
|||
} else {
|
||||
EntryStrings {
|
||||
date: DateString(ConversationsListing::format_date(thread_node)),
|
||||
subject: SubjectString(e.subject().to_string()),
|
||||
subject: SubjectString(subject),
|
||||
flag: FlagString(format!(
|
||||
"{}{}",
|
||||
if e.has_attachments() { "π" } else { "" },
|
||||
|
|
|
@ -558,10 +558,12 @@ impl ConversationsListing {
|
|||
tags.pop();
|
||||
}
|
||||
}
|
||||
let mut subject = e.subject().to_string();
|
||||
subject.truncate_at_boundary(150);
|
||||
if thread_node.len() > 0 {
|
||||
EntryStrings {
|
||||
date: DateString(ConversationsListing::format_date(thread_node)),
|
||||
subject: SubjectString(format!("{} ({})", e.subject(), thread_node.len(),)),
|
||||
subject: SubjectString(format!("{} ({})", subject, thread_node.len(),)),
|
||||
flag: FlagString(format!(
|
||||
"{}{}",
|
||||
if e.has_attachments() { "π" } else { "" },
|
||||
|
@ -573,7 +575,7 @@ impl ConversationsListing {
|
|||
} else {
|
||||
EntryStrings {
|
||||
date: DateString(ConversationsListing::format_date(thread_node)),
|
||||
subject: SubjectString(e.subject().to_string()),
|
||||
subject: SubjectString(subject),
|
||||
flag: FlagString(format!(
|
||||
"{}{}",
|
||||
if e.has_attachments() { "π" } else { "" },
|
||||
|
|
|
@ -536,9 +536,11 @@ impl PlainListing {
|
|||
tags.pop();
|
||||
}
|
||||
}
|
||||
let mut subject = e.subject().to_string();
|
||||
subject.truncate_at_boundary(150);
|
||||
EntryStrings {
|
||||
date: DateString(PlainListing::format_date(&e)),
|
||||
subject: SubjectString(format!("{}", e.subject())),
|
||||
subject: SubjectString(subject),
|
||||
flag: FlagString(format!("{}", if e.has_attachments() { "π" } else { "" },)),
|
||||
from: FromString(address_list!((e.from()) as comma_sep_list)),
|
||||
tags: TagString(tags, colors),
|
||||
|
|
Loadingβ¦
Reference in New Issue