summaryrefslogtreecommitdiffstats
path: root/ui/src/components
diff options
context:
space:
mode:
authorManos Pitsidianakis <el13635@mail.ntua.gr>2019-12-12 11:07:54 +0200
committerManos Pitsidianakis <el13635@mail.ntua.gr>2019-12-12 11:07:54 +0200
commit7432be5aaa0f305c5253908b0d8bc40473041e51 (patch)
treeb8cf39f246c5f7c5e685f1d970642225b851b563 /ui/src/components
parentb401b64f35db66f4443a94d27ef23413f5afdee9 (diff)
ui/listings: truncate subject at 150 grapheme width
Large subjects would cause large CellBuffer allocations.
Diffstat (limited to 'ui/src/components')
-rw-r--r--ui/src/components/mail/listing/compact.rs6
-rw-r--r--ui/src/components/mail/listing/conversations.rs6
-rw-r--r--ui/src/components/mail/listing/plain.rs4
3 files changed, 11 insertions, 5 deletions
diff --git a/ui/src/components/mail/listing/compact.rs b/ui/src/components/mail/listing/compact.rs
index d9c8e0b6..2aa2f678 100644
--- a/ui/src/components/mail/listing/compact.rs
+++ b/ui/src/components/mail/listing/compact.rs
@@ -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 { "" },
diff --git a/ui/src/components/mail/listing/conversations.rs b/ui/src/components/mail/listing/conversations.rs
index 437ddc0f..9cfd2543 100644
--- a/ui/src/components/mail/listing/conversations.rs
+++ b/ui/src/components/mail/listing/conversations.rs
@@ -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 { "" },
diff --git a/ui/src/components/mail/listing/plain.rs b/ui/src/components/mail/listing/plain.rs
index 22757bce..be72d6d8 100644
--- a/ui/src/components/mail/listing/plain.rs
+++ b/ui/src/components/mail/listing/plain.rs
@@ -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),