mirror of
https://git.notmuchmail.org/git/notmuch
synced 2024-12-22 17:34:54 +01:00
emacs: Render text/x-vcalendar parts.
Use code from icalendar.el to convert text/x-vcalendar parts to something suitable for use with the Emacs diary. Signed-off-by: Jameson Rollins <jrollins@finestructure.net>
This commit is contained in:
parent
f35813df38
commit
7ca4db2b46
1 changed files with 19 additions and 0 deletions
|
@ -26,6 +26,7 @@
|
|||
(require 'message)
|
||||
(require 'mm-decode)
|
||||
(require 'mailcap)
|
||||
(require 'icalendar)
|
||||
|
||||
(require 'notmuch-lib)
|
||||
(require 'notmuch-query)
|
||||
|
@ -371,6 +372,24 @@ current buffer, if possible."
|
|||
(run-hook-with-args 'notmuch-show-insert-text/plain-hook depth))))
|
||||
t)
|
||||
|
||||
(defun notmuch-show-insert-part-text/x-vcalendar (msg part content-type nth depth declared-type)
|
||||
(notmuch-show-insert-part-header nth declared-type content-type (plist-get part :filename))
|
||||
(insert (with-temp-buffer
|
||||
(insert (notmuch-show-get-bodypart-content msg part nth))
|
||||
(goto-char (point-min))
|
||||
(let ((file (make-temp-file "notmuch-ical"))
|
||||
result)
|
||||
(icalendar--convert-ical-to-diary
|
||||
(icalendar--read-element nil nil)
|
||||
file t)
|
||||
(set-buffer (get-file-buffer file))
|
||||
(setq result (buffer-substring (point-min) (point-max)))
|
||||
(set-buffer-modified-p nil)
|
||||
(kill-buffer (current-buffer))
|
||||
(delete-file file)
|
||||
result)))
|
||||
t)
|
||||
|
||||
(defun notmuch-show-insert-part-application/octet-stream (msg part content-type nth depth declared-type)
|
||||
;; If we can deduce a MIME type from the filename of the attachment,
|
||||
;; do so and pass it on to the handler for that type.
|
||||
|
|
Loading…
Reference in a new issue