diff options
Diffstat (limited to 'ui/src/components/mail/listing')
-rw-r--r-- | ui/src/components/mail/listing/compact.rs | 69 | ||||
-rw-r--r-- | ui/src/components/mail/listing/conversations.rs | 71 |
2 files changed, 59 insertions, 81 deletions
diff --git a/ui/src/components/mail/listing/compact.rs b/ui/src/components/mail/listing/compact.rs index fd66d725..9fa5df4d 100644 --- a/ui/src/components/mail/listing/compact.rs +++ b/ui/src/components/mail/listing/compact.rs @@ -127,24 +127,24 @@ impl ListingTrait for CompactListing { let thread = threads.thread_ref(thread_hash); let fg_color = if thread.unseen() > 0 { - self.color_cache.unseen_fg + self.color_cache.unseen.fg } else if self.cursor_pos.2 == idx { - self.color_cache.highlighted_fg + self.color_cache.highlighted.fg } else if idx % 2 == 0 { - self.color_cache.even_fg + self.color_cache.even.fg } else { - self.color_cache.odd_fg + self.color_cache.odd.fg }; let bg_color = if self.cursor_pos.2 == idx { - self.color_cache.highlighted_bg + self.color_cache.highlighted.bg } else if self.selection[&thread_hash] { - self.color_cache.selected_bg + self.color_cache.selected.bg } else if thread.unseen() > 0 { - self.color_cache.unseen_bg + self.color_cache.unseen.bg } else if idx % 2 == 0 { - self.color_cache.even_bg + self.color_cache.even.bg } else { - self.color_cache.odd_bg + self.color_cache.odd.bg }; let (upper_left, bottom_right) = area; @@ -348,7 +348,7 @@ impl ListingTrait for CompactListing { let c = &self.data_columns.columns[0][(0, r + top_idx)]; if self.selection[&thread_hash] { - (c.fg(), self.color_cache.selected_bg) + (c.fg(), self.color_cache.selected.bg) } else { (c.fg(), c.bg()) } @@ -632,20 +632,13 @@ impl CompactListing { }; self.color_cache = ColorCache { - unseen_fg: crate::conf::color(context, "mail.listing.compact.unseen_fg"), - unseen_bg: crate::conf::color(context, "mail.listing.compact.unseen_bg"), - highlighted_fg: crate::conf::color(context, "mail.listing.compact.highlighted_fg"), - highlighted_bg: crate::conf::color(context, "mail.listing.compact.highlighted_bg"), - even_fg: crate::conf::color(context, "mail.listing.compact.even_fg"), - even_bg: crate::conf::color(context, "mail.listing.compact.even_bg"), - odd_fg: crate::conf::color(context, "mail.listing.compact.odd_fg"), - odd_bg: crate::conf::color(context, "mail.listing.compact.odd_bg"), - selected_bg: crate::conf::color(context, "mail.listing.compact.selected_bg"), - attachment_flag_fg: crate::conf::color(context, "mail.listing.attachment_flag_fg"), - thread_snooze_flag_fg: crate::conf::color( - context, - "mail.listing.thread_snooze_flag_fg", - ), + unseen: crate::conf::value(context, "mail.listing.compact.unseen"), + highlighted: crate::conf::value(context, "mail.listing.compact.highlighted"), + even: crate::conf::value(context, "mail.listing.compact.even"), + odd: crate::conf::value(context, "mail.listing.compact.odd"), + selected: crate::conf::value(context, "mail.listing.compact.selected"), + attachment_flag: crate::conf::value(context, "mail.listing.attachment_flag"), + thread_snooze_flag: crate::conf::value(context, "mail.listing.thread_snooze_flag"), ..self.color_cache }; @@ -821,11 +814,11 @@ impl CompactListing { } let thread = threads.thread_ref(thread); let (fg_color, bg_color) = if thread.unseen() > 0 { - (self.color_cache.unseen_fg, self.color_cache.unseen_bg) + (self.color_cache.unseen.fg, self.color_cache.unseen.bg) } else if idx % 2 == 0 { - (self.color_cache.even_fg, self.color_cache.even_bg) + (self.color_cache.even.fg, self.color_cache.even.bg) } else { - (self.color_cache.odd_fg, self.color_cache.odd_bg) + (self.color_cache.odd.fg, self.color_cache.odd.bg) }; let (x, _) = write_string_to_grid( &idx.to_string(), @@ -917,17 +910,17 @@ impl CompactListing { match (thread.snoozed(), thread.has_attachments()) { (true, true) => { self.data_columns.columns[3][(0, idx)] - .set_fg(self.color_cache.attachment_flag_fg); + .set_fg(self.color_cache.attachment_flag.fg); self.data_columns.columns[3][(2, idx)] - .set_fg(self.color_cache.thread_snooze_flag_fg); + .set_fg(self.color_cache.thread_snooze_flag.fg); } (true, false) => { self.data_columns.columns[3][(0, idx)] - .set_fg(self.color_cache.thread_snooze_flag_fg); + .set_fg(self.color_cache.thread_snooze_flag.fg); } (false, true) => { self.data_columns.columns[3][(0, idx)] - .set_fg(self.color_cache.attachment_flag_fg); + .set_fg(self.color_cache.attachment_flag.fg); } (false, false) => {} } @@ -982,11 +975,11 @@ impl CompactListing { } let idx = self.order[&thread_hash]; let (fg_color, bg_color) = if thread.unseen() > 0 { - (self.color_cache.unseen_fg, self.color_cache.unseen_bg) + (self.color_cache.unseen.fg, self.color_cache.unseen.bg) } else if idx % 2 == 0 { - (self.color_cache.even_fg, self.color_cache.even_bg) + (self.color_cache.even.fg, self.color_cache.even.bg) } else { - (self.color_cache.odd_fg, self.color_cache.odd_bg) + (self.color_cache.odd.fg, self.color_cache.odd.bg) }; let envelope: EnvelopeRef = account.collection.get_env(env_hash); let strings = self.make_entry_string(&envelope, context, threads, thread_hash); @@ -1092,14 +1085,14 @@ impl CompactListing { } match (thread.snoozed(), thread.has_attachments()) { (true, true) => { - columns[3][(0, idx)].set_fg(self.color_cache.attachment_flag_fg); - columns[3][(2, idx)].set_fg(self.color_cache.thread_snooze_flag_fg); + columns[3][(0, idx)].set_fg(self.color_cache.attachment_flag.fg); + columns[3][(2, idx)].set_fg(self.color_cache.thread_snooze_flag.fg); } (true, false) => { - columns[3][(0, idx)].set_fg(self.color_cache.thread_snooze_flag_fg); + columns[3][(0, idx)].set_fg(self.color_cache.thread_snooze_flag.fg); } (false, true) => { - columns[3][(0, idx)].set_fg(self.color_cache.attachment_flag_fg); + columns[3][(0, idx)].set_fg(self.color_cache.attachment_flag.fg); } (false, false) => {} } diff --git a/ui/src/components/mail/listing/conversations.rs b/ui/src/components/mail/listing/conversations.rs index 8c3ddb4b..9cf1bd24 100644 --- a/ui/src/components/mail/listing/conversations.rs +++ b/ui/src/components/mail/listing/conversations.rs @@ -106,18 +106,18 @@ impl ListingTrait for ConversationsListing { let thread = threads.thread_ref(thread_hash); let fg_color = if thread.unseen() > 0 { - self.color_cache.unseen_fg + self.color_cache.unseen.fg } else { - self.color_cache.fg + self.color_cache.general.fg }; let bg_color = if self.cursor_pos.2 == idx { - self.color_cache.highlighted_bg + self.color_cache.highlighted.bg } else if self.selection[&thread_hash] { - self.color_cache.selected_bg + self.color_cache.selected.bg } else if thread.unseen() > 0 { - self.color_cache.unseen_bg + self.color_cache.unseen.bg } else { - self.color_cache.bg + self.color_cache.general.bg }; copy_area( @@ -127,7 +127,7 @@ impl ListingTrait for ConversationsListing { ((0, 3 * idx), pos_dec(self.content.size(), (1, 1))), ); - let padding_fg = self.color_cache.padding; + let padding_fg = self.color_cache.padding.fg; let (upper_left, bottom_right) = area; let width = self.content.size().0; @@ -292,7 +292,7 @@ impl ListingTrait for ConversationsListing { /* fill any remaining columns, if our view is wider than self.content */ let width = self.content.size().0; - let padding_fg = self.color_cache.padding; + let padding_fg = self.color_cache.padding.fg; if width < width!(area) { let y_offset = get_y(upper_left); @@ -554,34 +554,19 @@ impl ConversationsListing { }; self.color_cache = ColorCache { - fg: crate::conf::color(context, "mail.listing.conversations.fg"), - bg: crate::conf::color(context, "mail.listing.conversations.bg"), - subject_fg: crate::conf::color(context, "mail.listing.conversations.subject_fg"), - subject_bg: crate::conf::color(context, "mail.listing.conversations.subject_bg"), - from_fg: crate::conf::color(context, "mail.listing.conversations.from_fg"), - from_bg: crate::conf::color(context, "mail.listing.conversations.from_bg"), - date_fg: crate::conf::color(context, "mail.listing.conversations.date_fg"), - date_bg: crate::conf::color(context, "mail.listing.conversations.date_bg"), - padding: crate::conf::color(context, "mail.listing.conversations.padding"), - unseen_fg: crate::conf::color(context, "mail.listing.conversations.unseen_fg"), - unseen_bg: crate::conf::color(context, "mail.listing.conversations.unseen_bg"), - unseen_padding: crate::conf::color( + general: crate::conf::value(context, "mail.listing.conversations"), + subject: crate::conf::value(context, "mail.listing.conversations.subject"), + from: crate::conf::value(context, "mail.listing.conversations.from"), + date: crate::conf::value(context, "mail.listing.conversations.date"), + padding: crate::conf::value(context, "mail.listing.conversations.padding"), + unseen: crate::conf::value(context, "mail.listing.conversations.unseen"), + unseen_padding: crate::conf::value( context, "mail.listing.conversations.unseen_padding", ), - highlighted_fg: crate::conf::color( - context, - "mail.listing.conversations.highlighted_fg", - ), - highlighted_bg: crate::conf::color( - context, - "mail.listing.conversations.highlighted_bg", - ), - attachment_flag_fg: crate::conf::color(context, "mail.listing.attachment_flag_fg"), - thread_snooze_flag_fg: crate::conf::color( - context, - "mail.listing.thread_snooze_flag_fg", - ), + highlighted: crate::conf::value(context, "mail.listing.conversations.highlighted"), + attachment_flag: crate::conf::value(context, "mail.listing.attachment_flag"), + thread_snooze_flag: crate::conf::value(context, "mail.listing.thread_snooze_flag"), ..self.color_cache }; @@ -711,7 +696,7 @@ impl ConversationsListing { self.content = CellBuffer::new_with_context(width, 4 * rows.len(), Cell::with_char(' '), context); - let padding_fg = self.color_cache.padding; + let padding_fg = self.color_cache.padding.fg; for ((idx, (thread, root_env_hash)), strings) in rows { if !context.accounts[self.cursor_pos.0].contains_key(root_env_hash) { @@ -719,14 +704,14 @@ impl ConversationsListing { } let thread = threads.thread_ref(thread); let fg_color = if thread.unseen() > 0 { - self.color_cache.unseen_fg + self.color_cache.unseen.fg } else { - self.color_cache.fg + self.color_cache.general.fg }; let bg_color = if thread.unseen() > 0 { - self.color_cache.unseen_bg + self.color_cache.unseen.bg } else { - self.color_cache.bg + self.color_cache.general.bg }; /* draw flags */ let (x, _) = write_string_to_grid( @@ -891,16 +876,16 @@ impl ConversationsListing { let env_hash = threads.thread_nodes()[&thread_node_hash].message().unwrap(); let fg_color = if thread.unseen() > 0 { - self.color_cache.unseen_fg + self.color_cache.unseen.fg } else { - self.color_cache.fg + self.color_cache.general.fg }; let bg_color = if thread.unseen() > 0 { - self.color_cache.unseen_bg + self.color_cache.unseen.bg } else { - self.color_cache.bg + self.color_cache.general.bg }; - let padding_fg = self.color_cache.padding; + let padding_fg = self.color_cache.padding.fg; let mut from_address_list = Vec::new(); let mut from_address_set: std::collections::HashSet<Vec<u8>> = std::collections::HashSet::new(); |