Mercurial > hg > xemacs-beta
comparison lisp/tm/tm-view.el @ 70:131b0175ea99 r20-0b30
Import from CVS: tag r20-0b30
author | cvs |
---|---|
date | Mon, 13 Aug 2007 09:02:59 +0200 |
parents | 56c54cf7c5b6 |
children | 54cc21c15cbb |
comparison
equal
deleted
inserted
replaced
69:804d1389bcd6 | 70:131b0175ea99 |
---|---|
1 ;;; tm-view.el --- interactive MIME viewer for GNU Emacs | 1 ;;; tm-view.el --- interactive MIME viewer for GNU Emacs |
2 | 2 |
3 ;; Copyright (C) 1995,1996,1997 Free Software Foundation, Inc. | 3 ;; Copyright (C) 1995,1996 Free Software Foundation, Inc. |
4 | 4 |
5 ;; Author: MORIOKA Tomohiko <morioka@jaist.ac.jp> | 5 ;; Author: MORIOKA Tomohiko <morioka@jaist.ac.jp> |
6 ;; Created: 1994/7/13 (1994/8/31 obsolete tm-body.el) | 6 ;; Created: 1994/7/13 (1994/8/31 obsolete tm-body.el) |
7 ;; Version: $Revision: 1.6 $ | 7 ;; Version: $Revision: 1.1.1.1 $ |
8 ;; Keywords: mail, news, MIME, multimedia | 8 ;; Keywords: mail, news, MIME, multimedia |
9 | 9 |
10 ;; This file is part of tm (Tools for MIME). | 10 ;; This file is part of tm (Tools for MIME). |
11 | 11 |
12 ;; This program is free software; you can redistribute it and/or | 12 ;; This program is free software; you can redistribute it and/or |
40 | 40 |
41 ;;; @ version | 41 ;;; @ version |
42 ;;; | 42 ;;; |
43 | 43 |
44 (defconst mime-viewer/RCS-ID | 44 (defconst mime-viewer/RCS-ID |
45 "$Id: tm-view.el,v 1.6 1997/08/21 06:24:14 steve Exp $") | 45 "$Id: tm-view.el,v 1.1.1.1 1996/12/18 22:43:37 steve Exp $") |
46 | 46 |
47 (defconst mime-viewer/version (get-version-string mime-viewer/RCS-ID)) | 47 (defconst mime-viewer/version (get-version-string mime-viewer/RCS-ID)) |
48 (defconst mime/viewer-version mime-viewer/version) | 48 (defconst mime/viewer-version mime-viewer/version) |
49 | 49 |
50 | 50 |
72 ((type . "image/jpeg") | 72 ((type . "image/jpeg") |
73 (method "tm-image" nil 'file 'type 'encoding 'mode 'name) | 73 (method "tm-image" nil 'file 'type 'encoding 'mode 'name) |
74 (mode "play" "print") | 74 (mode "play" "print") |
75 ) | 75 ) |
76 ((type . "image/gif") | 76 ((type . "image/gif") |
77 (method "tm-image" nil 'file 'type 'encoding 'mode 'name) | |
78 (mode "play" "print") | |
79 ) | |
80 ((type . "image/png") | |
81 (method "tm-image" nil 'file 'type 'encoding 'mode 'name) | 77 (method "tm-image" nil 'file 'type 'encoding 'mode 'name) |
82 (mode "play" "print") | 78 (mode "play" "print") |
83 ) | 79 ) |
84 ((type . "image/tiff") | 80 ((type . "image/tiff") |
85 (method "tm-image" nil 'file 'type 'encoding 'mode 'name) | 81 (method "tm-image" nil 'file 'type 'encoding 'mode 'name) |
382 ;;; @@ following method | 378 ;;; @@ following method |
383 ;;; | 379 ;;; |
384 | 380 |
385 (defvar mime-viewer/following-method-alist nil) | 381 (defvar mime-viewer/following-method-alist nil) |
386 | 382 |
387 (defvar mime-viewer/following-required-fields-list | |
388 '("From")) | |
389 | |
390 | 383 |
391 ;;; @@ X-Face | 384 ;;; @@ X-Face |
392 ;;; | 385 ;;; |
393 | 386 |
394 ;; hack from Gnus 5.0.4. | 387 ;; hack from Gnus 5.0.4. |
734 )) | 727 )) |
735 | 728 |
736 (defun mime-viewer/define-keymap (&optional mother) | 729 (defun mime-viewer/define-keymap (&optional mother) |
737 (let ((mime/viewer-mode-map (if mother | 730 (let ((mime/viewer-mode-map (if mother |
738 (copy-keymap mother) | 731 (copy-keymap mother) |
739 (make-keymap) | 732 (make-keymap)))) |
740 ))) | 733 (suppress-keymap mime/viewer-mode-map) |
741 (or mother | |
742 (suppress-keymap mime/viewer-mode-map)) | |
743 (define-key mime/viewer-mode-map | 734 (define-key mime/viewer-mode-map |
744 "u" (function mime-viewer/up-content)) | 735 "u" (function mime-viewer/up-content)) |
745 (define-key mime/viewer-mode-map | 736 (define-key mime/viewer-mode-map |
746 "p" (function mime-viewer/previous-content)) | 737 "p" (function mime-viewer/previous-content)) |
747 (define-key mime/viewer-mode-map | 738 (define-key mime/viewer-mode-map |
748 "n" (function mime-viewer/next-content)) | 739 "n" (function mime-viewer/next-content)) |
749 (define-key mime/viewer-mode-map | 740 (define-key mime/viewer-mode-map |
750 "\e\t" (function mime-viewer/previous-content)) | |
751 (define-key mime/viewer-mode-map | |
752 "\t" (function mime-viewer/next-content)) | |
753 (define-key mime/viewer-mode-map | |
754 " " (function mime-viewer/scroll-up-content)) | 741 " " (function mime-viewer/scroll-up-content)) |
755 (define-key mime/viewer-mode-map | 742 (define-key mime/viewer-mode-map |
756 "\M- " (function mime-viewer/scroll-down-content)) | 743 "\M- " (function mime-viewer/scroll-down-content)) |
757 (define-key mime/viewer-mode-map | 744 (define-key mime/viewer-mode-map |
758 "\177" (function mime-viewer/scroll-down-content)) | 745 "\177" (function mime-viewer/scroll-down-content)) |
761 (define-key mime/viewer-mode-map | 748 (define-key mime/viewer-mode-map |
762 "\C-\M-m" (function mime-viewer/previous-line-content)) | 749 "\C-\M-m" (function mime-viewer/previous-line-content)) |
763 (define-key mime/viewer-mode-map | 750 (define-key mime/viewer-mode-map |
764 "v" (function mime-viewer/play-content)) | 751 "v" (function mime-viewer/play-content)) |
765 (define-key mime/viewer-mode-map | 752 (define-key mime/viewer-mode-map |
766 "e" (function mime-viewer/extract-content)) | 753 "e" (function mime-viewer/extract-content)) |
767 (define-key mime/viewer-mode-map | 754 (define-key mime/viewer-mode-map |
768 "\C-c\C-p" (function mime-viewer/print-content)) | 755 "\C-c\C-p" (function mime-viewer/print-content)) |
769 (define-key mime/viewer-mode-map | 756 (define-key mime/viewer-mode-map |
770 "x" (function mime-viewer/display-x-face)) | 757 "x" (function mime-viewer/display-x-face)) |
771 (define-key mime/viewer-mode-map | 758 (define-key mime/viewer-mode-map |
816 | 803 |
817 key feature | 804 key feature |
818 --- ------- | 805 --- ------- |
819 | 806 |
820 u Move to upper content | 807 u Move to upper content |
821 p or M-TAB Move to previous content | 808 p Move to previous content |
822 n or TAB Move to next content | 809 n Move to next content |
823 SPC Scroll up or move to next content | 810 SPC Scroll up or move to next content |
824 M-SPC or DEL Scroll down or move to previous content | 811 M-SPC Scroll down or move to previous content |
812 DEL Scroll down or move to previous content | |
825 RET Move to next line | 813 RET Move to next line |
826 M-RET Move to previous line | 814 M-RET Move to previous line |
827 v Decode current content as `play mode' | 815 v Decode current content as `play mode' |
828 e Decode current content as `extract mode' | 816 e Decode current content as `extract mode' |
829 C-c C-p Decode current content as `print mode' | 817 C-c C-p Decode current content as `print mode' |
991 rcnum)) | 979 rcnum)) |
992 (setq fields (std11-collect-field-names) | 980 (setq fields (std11-collect-field-names) |
993 rcnum (cdr rcnum)) | 981 rcnum (cdr rcnum)) |
994 ) | 982 ) |
995 ) | 983 ) |
996 (let ((rest mime-viewer/following-required-fields-list)) | |
997 (while rest | |
998 (let ((field-name (car rest))) | |
999 (or (std11-field-body field-name) | |
1000 (insert | |
1001 (format | |
1002 (concat field-name | |
1003 ": " | |
1004 (save-excursion | |
1005 (set-buffer the-buf) | |
1006 (set-buffer mime::preview/mother-buffer) | |
1007 (set-buffer mime::preview/article-buffer) | |
1008 (std11-field-body field-name) | |
1009 ) | |
1010 "\n"))) | |
1011 )) | |
1012 (setq rest (cdr rest)) | |
1013 )) | |
1014 (mime/decode-message-header) | 984 (mime/decode-message-header) |
1015 ) | 985 ) |
1016 (let ((f (cdr (assq mode mime-viewer/following-method-alist)))) | 986 (funcall (cdr (assq mode mime-viewer/following-method-alist)) |
1017 (if (functionp f) | 987 new-buf) |
1018 (funcall f new-buf) | |
1019 (message | |
1020 (format | |
1021 "Sorry, following method for %s is not implemented yet." | |
1022 mode)) | |
1023 )) | |
1024 )))) | 988 )))) |
1025 | 989 |
1026 (defun mime-viewer/display-x-face () | 990 (defun mime-viewer/display-x-face () |
1027 (interactive) | 991 (interactive) |
1028 (save-window-excursion | 992 (save-window-excursion |
1059 (let* ((pcl mime::preview/content-list) | 1023 (let* ((pcl mime::preview/content-list) |
1060 (p (point)) | 1024 (p (point)) |
1061 (i (- (length pcl) 1)) | 1025 (i (- (length pcl) 1)) |
1062 beg) | 1026 beg) |
1063 (catch 'tag | 1027 (catch 'tag |
1064 (while (> i 0) | 1028 (while (>= i 0) |
1065 (setq beg (mime::preview-content-info/point-min (nth i pcl))) | 1029 (setq beg (mime::preview-content-info/point-min (nth i pcl))) |
1066 (if (> p beg) | 1030 (if (> p beg) |
1067 (throw 'tag (goto-char beg)) | 1031 (throw 'tag (goto-char beg)) |
1068 ) | 1032 ) |
1069 (setq i (- i 1)) | 1033 (setq i (- i 1)) |