From 48e7a493a92730bedccc5dfaac8242ed49d55a0d Mon Sep 17 00:00:00 2001 From: Manos Pitsidianakis Date: Wed, 2 Dec 2020 20:47:48 +0200 Subject: Add reload-config command Closes #84 Add "reload configuration" command --- src/components/mail/listing/plain.rs | 35 +++++++++++++++++++++++++++++++++++ 1 file changed, 35 insertions(+) (limited to 'src/components/mail/listing/plain.rs') diff --git a/src/components/mail/listing/plain.rs b/src/components/mail/listing/plain.rs index e0a38ea8..93b9dec6 100644 --- a/src/components/mail/listing/plain.rs +++ b/src/components/mail/listing/plain.rs @@ -1215,6 +1215,41 @@ impl Component for PlainListing { } } match *event { + UIEvent::ConfigReload { old_settings: _ } => { + self.color_cache = ColorCache { + even: crate::conf::value(context, "mail.listing.plain.even"), + odd: crate::conf::value(context, "mail.listing.plain.odd"), + even_unseen: crate::conf::value(context, "mail.listing.plain.even_unseen"), + odd_unseen: crate::conf::value(context, "mail.listing.plain.odd_unseen"), + even_highlighted: crate::conf::value( + context, + "mail.listing.plain.even_highlighted", + ), + odd_highlighted: crate::conf::value( + context, + "mail.listing.plain.odd_highlighted", + ), + even_selected: crate::conf::value(context, "mail.listing.plain.even_selected"), + odd_selected: crate::conf::value(context, "mail.listing.plain.odd_selected"), + attachment_flag: crate::conf::value(context, "mail.listing.attachment_flag"), + thread_snooze_flag: crate::conf::value( + context, + "mail.listing.thread_snooze_flag", + ), + tag_default: crate::conf::value(context, "mail.listing.tag_default"), + theme_default: crate::conf::value(context, "theme_default"), + ..self.color_cache + }; + if !context.settings.terminal.use_color() { + self.color_cache.highlighted.attrs |= Attr::REVERSE; + self.color_cache.tag_default.attrs |= Attr::REVERSE; + self.color_cache.even_highlighted.attrs |= Attr::REVERSE; + self.color_cache.odd_highlighted.attrs |= Attr::REVERSE; + } + + self.refresh_mailbox(context, true); + self.set_dirty(true); + } UIEvent::MailboxUpdate((ref idxa, ref idxf)) if (*idxa, *idxf) == (self.new_cursor_pos.0, self.cursor_pos.1) => { -- cgit v1.2.3