notmuch.el: Add support for viewing MIME-encoded parts (with 'v').

Currently just supports viewing all MIME parts in the message. There's
not yet support for selecting and viewing individual parts, but that
should be easy to add from here, (now that we've found
mm-display-parts to do all the heavy lifting).
This commit is contained in:
Carl Worth 2009-11-14 08:57:38 -08:00
parent 4812cfb368
commit 322fe4f3fb

View file

@ -20,6 +20,7 @@
; Authors: Carl Worth <cworth@cworth.org>
(require 'cl)
(require 'mm-view)
(defvar notmuch-show-mode-map
(let ((map (make-sparse-keymap)))
@ -44,6 +45,7 @@
(define-key map "q" 'kill-this-buffer)
(define-key map "r" 'notmuch-show-reply)
(define-key map "s" 'notmuch-show-toggle-signatures-visible)
(define-key map "v" 'notmuch-show-view-all-mime-parts)
(define-key map "w" 'notmuch-show-view-raw-message)
(define-key map "x" 'kill-this-buffer)
(define-key map "+" 'notmuch-show-add-tag)
@ -223,6 +225,18 @@ buffer."
(interactive)
(view-file (notmuch-show-get-filename)))
(defun notmuch-show-view-all-mime-parts ()
"Use external viewers (according to mailcap) to view all MIME-encoded parts."
(interactive)
(save-excursion
(let ((filename (notmuch-show-get-filename)))
(switch-to-buffer (generate-new-buffer (concat "*notmuch-mime-"
filename
"*")))
(insert-file-contents filename nil nil nil t)
(mm-display-parts (mm-dissect-buffer))
(kill-this-buffer))))
(defun notmuch-show-reply ()
"Begin composing a reply to the current message in a new buffer."
(interactive)