diff options
| author | Lars Magne Ingebrigtsen | 2015-08-17 22:18:21 +0000 |
|---|---|---|
| committer | Katsumi Yamaoka | 2015-08-17 22:18:21 +0000 |
| commit | bb86261cbcc9d0f25730e0044042e43748b84134 (patch) | |
| tree | 64d870bf8a04da6b5cfafa5ca8364919f7923ce6 | |
| parent | a84225d29c40a8cf3f860d2b58517102eef33436 (diff) | |
| download | emacs-bb86261cbcc9d0f25730e0044042e43748b84134.tar.gz emacs-bb86261cbcc9d0f25730e0044042e43748b84134.zip | |
* message.el (message-toggle-image-thumbnails): New command.
| -rw-r--r-- | lisp/gnus/message.el | 30 |
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)) |