diff options
author | Manos Pitsidianakis <el13635@mail.ntua.gr> | 2019-05-07 21:53:36 +0300 |
---|---|---|
committer | Manos Pitsidianakis <el13635@mail.ntua.gr> | 2019-06-10 19:40:47 +0300 |
commit | 0f4db97b75ce6301197fe4b88c8ed669d4300419 (patch) | |
tree | f95ee5a063fc43e67e81d4762f0ca5f8fa5f610d | |
parent | c26dd0685b6774d7ec9746c38d4d4abd3f0bc09e (diff) |
ui: display headers in ViewMode::Raw
-rw-r--r-- | ui/src/components/mail/view.rs | 22 |
1 files changed, 22 insertions, 0 deletions
diff --git a/ui/src/components/mail/view.rs b/ui/src/components/mail/view.rs index 1c569775..105d65e5 100644 --- a/ui/src/components/mail/view.rs +++ b/ui/src/components/mail/view.rs @@ -409,6 +409,28 @@ impl Component for MailView { self.mode = ViewMode::Subview; } ViewMode::Subview | ViewMode::ContactSelector(_) => {} + ViewMode::Raw => { + let text = { + let mailbox_idx = self.coordinates; // coordinates are mailbox idxs + let mailbox = &context.accounts[mailbox_idx.0][mailbox_idx.1] + .as_ref() + .unwrap(); + let envelope: &Envelope = &mailbox.collection[&mailbox_idx.2]; + let mut op = context.accounts[mailbox_idx.0] + .backend + .operation(envelope.hash(), mailbox.folder.hash()); + op.as_bytes() + .map(|v| String::from_utf8_lossy(v).into_owned()) + .unwrap_or_else(|e| e.to_string()) + }; + self.pager = Some(Pager::from_string( + text, + Some(context), + None, + Some(width!(area)), + )); + self.subview = None; + } _ => { let text = { self.attachment_to_text(&body, context) |