aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--lisp/gnus/message.el30
1 files changed, 30 insertions, 0 deletions
diff --git a/lisp/gnus/message.el b/lisp/gnus/message.el
index 447a8d79e39..bc6185fd517 100644
--- a/lisp/gnus/message.el
+++ b/lisp/gnus/message.el
@@ -8546,14 +8546,44 @@ Used in `message-simplify-recipients'."
8546;;; multipart/related and HTML support. 8546;;; multipart/related and HTML support.
8547 8547
8548(defun message-make-html-message-with-image-files (files) 8548(defun message-make-html-message-with-image-files (files)
8549 "Make a message containing the current dired-marked image files."
8549 (interactive (list (dired-get-marked-files nil current-prefix-arg))) 8550 (interactive (list (dired-get-marked-files nil current-prefix-arg)))
8550 (message-mail) 8551 (message-mail)
8551 (message-goto-body) 8552 (message-goto-body)
8552 (insert "<#part type=text/html>\n\n") 8553 (insert "<#part type=text/html>\n\n")
8553 (dolist (file files) 8554 (dolist (file files)
8554 (insert (format "<img src=%S>\n\n" file))) 8555 (insert (format "<img src=%S>\n\n" file)))
8556 (message-toggle-image-thumbnails)
8555 (message-goto-to)) 8557 (message-goto-to))
8556 8558
8559(defun message-toggle-image-thumbnails ()
8560 "For any included image files, insert a thumbnail of that image."
8561 (interactive)
8562 (let ((overlays (overlays-in (point-min) (point-max)))
8563 (displayed nil))
8564 (while overlays
8565 (let ((overlay (car overlays)))
8566 (when (overlay-get overlay 'put-image)
8567 (delete-overlay overlay)
8568 (setq displayed t)))
8569 (setq overlays (cdr overlays)))
8570 (unless displayed
8571 (save-excursion
8572 (goto-char (point-min))
8573 (while (re-search-forward "<img.*src=\"\\([^\"]+\\)" nil t)
8574 (let ((file (match-string 1))
8575 (edges (window-inside-pixel-edges
8576 (get-buffer-window (current-buffer)))))
8577 (put-image
8578 (create-image
8579 file 'imagemagick nil
8580 :max-width (truncate
8581 (* 0.7 (- (nth 2 edges) (nth 0 edges))))
8582 :max-height (truncate
8583 (* 0.5 (- (nth 3 edges) (nth 1 edges)))))
8584 (match-beginning 0)
8585 " ")))))))
8586
8557(when (featurep 'xemacs) 8587(when (featurep 'xemacs)
8558 (require 'messagexmas) 8588 (require 'messagexmas)
8559 (message-xmas-redefine)) 8589 (message-xmas-redefine))