mail/view: prevent spurious redraw in special modes

jmap-eventsource
Manos Pitsidianakis 2020-10-16 12:40:02 +03:00
parent 8090d614e2
commit 5acd7dfe1c
Signed by: Manos Pitsidianakis
GPG Key ID: 73627C2F690DF710
1 changed files with 9 additions and 3 deletions

View File

@ -1876,7 +1876,10 @@ impl Component for MailView {
return true; return true;
} }
UIEvent::Input(ref key) UIEvent::Input(ref key)
if shortcut!(key == shortcuts[MailView::DESCRIPTION]["toggle_expand_headers"]) => if (self.mode == ViewMode::Normal || self.mode == ViewMode::Url)
&& shortcut!(
key == shortcuts[MailView::DESCRIPTION]["toggle_expand_headers"]
) =>
{ {
self.expand_headers = !self.expand_headers; self.expand_headers = !self.expand_headers;
self.set_dirty(true); self.set_dirty(true);
@ -2276,15 +2279,18 @@ impl Component for MailView {
fn set_dirty(&mut self, value: bool) { fn set_dirty(&mut self, value: bool) {
self.dirty = value; self.dirty = value;
match self.mode { match self.mode {
ViewMode::Normal => { ViewMode::Normal | ViewMode::Url | ViewMode::Source(_) | ViewMode::Attachment(_) => {
self.pager.set_dirty(value); self.pager.set_dirty(value);
} }
ViewMode::ContactSelector(ref mut s) => {
self.pager.set_dirty(value);
s.set_dirty(value);
}
ViewMode::Subview => { ViewMode::Subview => {
if let Some(s) = self.subview.as_mut() { if let Some(s) = self.subview.as_mut() {
s.set_dirty(value); s.set_dirty(value);
} }
} }
_ => {}
} }
} }