Mercurial > emacs
annotate lisp/mh-e/mh-tool-bar.el @ 101708:823851e4047e
*** empty log message ***
author | Eli Zaretskii <eliz@gnu.org> |
---|---|
date | Sat, 31 Jan 2009 10:10:02 +0000 |
parents | 8273fdb2fa74 |
children | 1d1d5d9bd884 |
rev | line source |
---|---|
68465 | 1 ;;; mh-tool-bar.el --- MH-E tool bar support |
2 | |
101485
8273fdb2fa74
Follow Glenn's lead and update format of Copyright.
Bill Wohler <wohler@newt.com>
parents:
100908
diff
changeset
|
3 ;; Copyright (C) 2002, 2003, 2005, 2006, 2007, 2008, 2009 |
8273fdb2fa74
Follow Glenn's lead and update format of Copyright.
Bill Wohler <wohler@newt.com>
parents:
100908
diff
changeset
|
4 ;; Free Software Foundation, Inc. |
68465 | 5 |
6 ;; Author: Satyaki Das <satyaki@theforce.stanford.edu> | |
7 ;; Maintainer: Bill Wohler <wohler@newt.com> | |
8 ;; Keywords: mail | |
9 ;; See: mh-e.el | |
10 | |
11 ;; This file is part of GNU Emacs. | |
12 | |
94663
90c9ebd43589
Switch to recommended form of GPLv3 permissions notice.
Glenn Morris <rgm@gnu.org>
parents:
79713
diff
changeset
|
13 ;; GNU Emacs is free software: you can redistribute it and/or modify |
68465 | 14 ;; it under the terms of the GNU General Public License as published by |
94663
90c9ebd43589
Switch to recommended form of GPLv3 permissions notice.
Glenn Morris <rgm@gnu.org>
parents:
79713
diff
changeset
|
15 ;; the Free Software Foundation, either version 3 of the License, or |
90c9ebd43589
Switch to recommended form of GPLv3 permissions notice.
Glenn Morris <rgm@gnu.org>
parents:
79713
diff
changeset
|
16 ;; (at your option) any later version. |
68465 | 17 |
18 ;; GNU Emacs is distributed in the hope that it will be useful, | |
19 ;; but WITHOUT ANY WARRANTY; without even the implied warranty of | |
20 ;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | |
21 ;; GNU General Public License for more details. | |
22 | |
23 ;; You should have received a copy of the GNU General Public License | |
94663
90c9ebd43589
Switch to recommended form of GPLv3 permissions notice.
Glenn Morris <rgm@gnu.org>
parents:
79713
diff
changeset
|
24 ;; along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>. |
68465 | 25 |
26 ;;; Commentary: | |
27 | |
28 ;;; Change Log: | |
29 | |
30 ;;; Code: | |
31 | |
32 (require 'mh-e) | |
68597
04d228a1b5c8
* mh-tool-bar.el: Add conditional require of 'tool-bar or 'toolbar
Mark D. Baushke <mdb@gnu.org>
parents:
68470
diff
changeset
|
33 (mh-do-in-gnu-emacs |
04d228a1b5c8
* mh-tool-bar.el: Add conditional require of 'tool-bar or 'toolbar
Mark D. Baushke <mdb@gnu.org>
parents:
68470
diff
changeset
|
34 (require 'tool-bar)) |
04d228a1b5c8
* mh-tool-bar.el: Add conditional require of 'tool-bar or 'toolbar
Mark D. Baushke <mdb@gnu.org>
parents:
68470
diff
changeset
|
35 (mh-do-in-xemacs |
04d228a1b5c8
* mh-tool-bar.el: Add conditional require of 'tool-bar or 'toolbar
Mark D. Baushke <mdb@gnu.org>
parents:
68470
diff
changeset
|
36 (require 'toolbar)) |
68465 | 37 |
38 ;;; Tool Bar Commands | |
39 | |
40 (defun mh-tool-bar-search (&optional arg) | |
41 "Interactively call `mh-tool-bar-search-function'. | |
42 Optional argument ARG is not used." | |
43 (interactive "P") | |
44 (call-interactively mh-tool-bar-search-function)) | |
45 | |
46 (defun mh-tool-bar-customize () | |
47 "Call `mh-customize' from the tool bar." | |
48 (interactive) | |
49 (mh-customize t)) | |
50 | |
51 (defun mh-tool-bar-folder-help () | |
52 "Visit \"(mh-e)Top\"." | |
53 (interactive) | |
54 (info "(mh-e)Top") | |
55 (delete-other-windows)) | |
56 | |
57 (defun mh-tool-bar-letter-help () | |
58 "Visit \"(mh-e)Editing Drafts\"." | |
59 (interactive) | |
60 (info "(mh-e)Editing Drafts") | |
61 (delete-other-windows)) | |
62 | |
63 (defmacro mh-tool-bar-reply-generator (function recipient folder-buffer-flag) | |
64 "Generate FUNCTION that replies to RECIPIENT. | |
65 If FOLDER-BUFFER-FLAG is nil then the function generated... | |
66 When INCLUDE-FLAG is non-nil, include message body being replied to." | |
67 `(defun ,function (&optional arg) | |
68 ,(format "Reply to \"%s\".\nWhen ARG is non-nil include message in reply." | |
69 recipient) | |
70 (interactive "P") | |
71 ,(if folder-buffer-flag nil '(set-buffer mh-show-folder-buffer)) | |
72 (mh-reply (mh-get-msg-num nil) ,recipient arg))) | |
73 | |
74 (mh-tool-bar-reply-generator mh-tool-bar-reply-from "from" t) | |
75 (mh-tool-bar-reply-generator mh-show-tool-bar-reply-from "from" nil) | |
76 (mh-tool-bar-reply-generator mh-tool-bar-reply-to "to" t) | |
77 (mh-tool-bar-reply-generator mh-show-tool-bar-reply-to "to" nil) | |
78 (mh-tool-bar-reply-generator mh-tool-bar-reply-all "all" t) | |
79 (mh-tool-bar-reply-generator mh-show-tool-bar-reply-all "all" nil) | |
80 | |
81 | |
82 | |
83 ;;; Tool Bar Creation | |
84 | |
70145
00cb3fe5fed5
* mh-tool-bar.el (image-load-path): Define to shush compiler.
Bill Wohler <wohler@newt.com>
parents:
70114
diff
changeset
|
85 ;; Shush compiler. |
00cb3fe5fed5
* mh-tool-bar.el (image-load-path): Define to shush compiler.
Bill Wohler <wohler@newt.com>
parents:
70114
diff
changeset
|
86 (defvar image-load-path) |
00cb3fe5fed5
* mh-tool-bar.el (image-load-path): Define to shush compiler.
Bill Wohler <wohler@newt.com>
parents:
70114
diff
changeset
|
87 |
68465 | 88 (defmacro mh-tool-bar-define (defaults &rest buttons) |
89 "Define a tool bar for MH-E. | |
90 DEFAULTS is the list of buttons that are present by default. It | |
91 is a list of lists where the sublists are of the following form: | |
92 | |
93 (:KEYWORD FUNC1 FUNC2 FUNC3 ...) | |
94 | |
95 Here :KEYWORD is one of :folder or :letter. If it is :folder then | |
96 the default buttons in the folder and show mode buffers are being | |
97 specified. If it is :letter then the default buttons in the | |
98 letter mode are listed. FUNC1, FUNC2, FUNC3, ... are the names of | |
99 the functions that the buttons would execute. | |
100 | |
101 Each element of BUTTONS is a list consisting of four mandatory | |
102 items and one optional item as follows: | |
103 | |
104 (FUNCTION MODES ICON DOC &optional ENABLE-EXPR) | |
105 | |
106 where, | |
107 | |
108 FUNCTION is the name of the function that will be executed when | |
109 the button is clicked. | |
110 | |
111 MODES is a list of symbols. List elements must be from \"folder\", | |
112 \"letter\" and \"sequence\". If \"folder\" is present then the button is | |
113 available in the folder and show buffer. If the name of FUNCTION is | |
114 of the form \"mh-foo\", where foo is some arbitrary string, then we | |
115 check if the function `mh-show-foo' exists. If it exists then that | |
116 function is used in the show buffer. Otherwise the original function | |
117 `mh-foo' is used in the show buffer as well. Presence of \"sequence\" | |
118 is handled similar to the above. The only difference is that the | |
119 button is shown only when the folder is narrowed to a sequence. If | |
120 \"letter\" is present in MODES, then the button is available during | |
121 draft editing and runs FUNCTION when clicked. | |
122 | |
123 ICON is the icon that is drawn in the button. | |
124 | |
125 DOC is the documentation for the button. It is used in tool-tips and | |
126 in providing other help to the user. GNU Emacs uses only the first | |
127 line of the string. So the DOC should be formatted such that the | |
128 first line is useful and complete without the rest of the string. | |
129 | |
130 Optional item ENABLE-EXPR is an arbitrary lisp expression. If it | |
131 evaluates to nil, then the button is deactivated, otherwise it is | |
132 active. If it isn't present then the button is always active." | |
133 ;; The following variable names have been carefully chosen to make code | |
134 ;; generation easier. Modifying the names should be done carefully. | |
135 (let (folder-buttons folder-docs folder-button-setter sequence-button-setter | |
136 show-buttons show-button-setter show-seq-button-setter | |
137 letter-buttons letter-docs letter-button-setter | |
138 folder-defaults letter-defaults | |
139 folder-vectors show-vectors letter-vectors) | |
140 (dolist (x defaults) | |
141 (cond ((eq (car x) :folder) (setq folder-defaults (cdr x))) | |
142 ((eq (car x) :letter) (setq letter-defaults (cdr x))))) | |
143 (dolist (button buttons) | |
144 (unless (and (listp button) | |
145 (or (equal (length button) 4) (equal (length button) 5))) | |
146 (error "Incorrect MH-E tool-bar button specification: %s" button)) | |
147 (let* ((name (nth 0 button)) | |
148 (name-str (symbol-name name)) | |
149 (icon (nth 2 button)) | |
150 (xemacs-icon (mh-do-in-xemacs | |
71599
c7f90876123f
(mh-tool-bar-define): Fix XEmacs' vector-list so it refers to the
Bill Wohler <wohler@newt.com>
parents:
70145
diff
changeset
|
151 `(cdr (assoc (quote ,(intern icon)) mh-xemacs-icon-map)))) |
68465 | 152 (full-doc (nth 3 button)) |
153 (doc (if (string-match "\\(.*\\)\n" full-doc) | |
154 (match-string 1 full-doc) | |
155 full-doc)) | |
70114
29c303bc6423
(mh-tool-bar-define): Fix enable-expr so that one can permenently
Bill Wohler <wohler@newt.com>
parents:
69728
diff
changeset
|
156 (enable-expr (if (eql (length button) 4) t (nth 4 button))) |
68465 | 157 (modes (nth 1 button)) |
158 functions show-sym) | |
159 (when (memq 'letter modes) (setq functions `(:letter ,name))) | |
160 (when (or (memq 'folder modes) (memq 'sequence modes)) | |
161 (setq functions | |
162 (append `(,(if (memq 'folder modes) :folder :sequence) ,name) | |
163 functions)) | |
164 (setq show-sym | |
165 (if (string-match "^mh-\\(.*\\)$" name-str) | |
166 (intern (concat "mh-show-" (match-string 1 name-str))) | |
167 name)) | |
168 (setq functions | |
169 (append `(,(if (memq 'folder modes) :show :show-seq) | |
170 ,(if (fboundp show-sym) show-sym name)) | |
171 functions))) | |
172 (do ((functions functions (cddr functions))) | |
173 ((null functions)) | |
174 (let* ((type (car functions)) | |
175 (function (cadr functions)) | |
176 (type1 (substring (symbol-name type) 1)) | |
177 (vector-list (cond ((eq type :show) 'show-vectors) | |
178 ((eq type :show-seq) 'show-vectors) | |
179 ((eq type :letter) 'letter-vectors) | |
180 (t 'folder-vectors))) | |
181 (list (cond ((eq type :letter) 'mh-tool-bar-letter-buttons) | |
182 (t 'mh-tool-bar-folder-buttons))) | |
70145
00cb3fe5fed5
* mh-tool-bar.el (image-load-path): Define to shush compiler.
Bill Wohler <wohler@newt.com>
parents:
70114
diff
changeset
|
183 (key (intern (concat "mh-" type1 "-tool-bar-" name-str))) |
68465 | 184 (setter (intern (concat type1 "-button-setter"))) |
185 (mbuttons (cond ((eq type :letter) 'letter-buttons) | |
186 ((eq type :show) 'show-buttons) | |
187 ((eq type :show-seq) 'show-buttons) | |
188 (t 'folder-buttons))) | |
189 (docs (cond ((eq mbuttons 'letter-buttons) 'letter-docs) | |
190 ((eq mbuttons 'folder-buttons) 'folder-docs)))) | |
71599
c7f90876123f
(mh-tool-bar-define): Fix XEmacs' vector-list so it refers to the
Bill Wohler <wohler@newt.com>
parents:
70145
diff
changeset
|
191 (add-to-list vector-list `(vector ,xemacs-icon ',function t ,full-doc)) |
68465 | 192 (add-to-list |
193 setter `(when (member ',name ,list) | |
194 (mh-funcall-if-exists | |
195 tool-bar-add-item ,icon ',function ',key | |
196 :help ,doc :enable ',enable-expr))) | |
197 (add-to-list mbuttons name) | |
198 (if docs (add-to-list docs doc)))))) | |
199 (setq folder-buttons (nreverse folder-buttons) | |
200 letter-buttons (nreverse letter-buttons) | |
201 show-buttons (nreverse show-buttons) | |
202 letter-docs (nreverse letter-docs) | |
203 folder-docs (nreverse folder-docs) | |
204 folder-vectors (nreverse folder-vectors) | |
205 show-vectors (nreverse show-vectors) | |
206 letter-vectors (nreverse letter-vectors)) | |
207 (dolist (x folder-defaults) | |
208 (unless (memq x folder-buttons) | |
69245
f3bbf5f32462
* mh-folder.el (mh-tool-bar-init): Autoload.
Bill Wohler <wohler@newt.com>
parents:
68597
diff
changeset
|
209 (error "Folder defaults contains unknown button %s" x))) |
68465 | 210 (dolist (x letter-defaults) |
211 (unless (memq x letter-buttons) | |
69245
f3bbf5f32462
* mh-folder.el (mh-tool-bar-init): Autoload.
Bill Wohler <wohler@newt.com>
parents:
68597
diff
changeset
|
212 (error "Letter defaults contains unknown button %s" x))) |
68465 | 213 `(eval-when (compile load eval) |
214 ;; GNU Emacs tool bar specific code | |
215 (mh-do-in-gnu-emacs | |
70145
00cb3fe5fed5
* mh-tool-bar.el (image-load-path): Define to shush compiler.
Bill Wohler <wohler@newt.com>
parents:
70114
diff
changeset
|
216 (defun mh-buffer-exists-p (mode) |
00cb3fe5fed5
* mh-tool-bar.el (image-load-path): Define to shush compiler.
Bill Wohler <wohler@newt.com>
parents:
70114
diff
changeset
|
217 "Test whether a buffer with major mode MODE is present." |
00cb3fe5fed5
* mh-tool-bar.el (image-load-path): Define to shush compiler.
Bill Wohler <wohler@newt.com>
parents:
70114
diff
changeset
|
218 (loop for buf in (buffer-list) |
00cb3fe5fed5
* mh-tool-bar.el (image-load-path): Define to shush compiler.
Bill Wohler <wohler@newt.com>
parents:
70114
diff
changeset
|
219 when (with-current-buffer buf |
00cb3fe5fed5
* mh-tool-bar.el (image-load-path): Define to shush compiler.
Bill Wohler <wohler@newt.com>
parents:
70114
diff
changeset
|
220 (eq major-mode mode)) |
00cb3fe5fed5
* mh-tool-bar.el (image-load-path): Define to shush compiler.
Bill Wohler <wohler@newt.com>
parents:
70114
diff
changeset
|
221 return t)) |
68465 | 222 ;; Tool bar initialization functions |
223 (defun mh-tool-bar-folder-buttons-init () | |
224 (when (mh-buffer-exists-p 'mh-folder-mode) | |
70145
00cb3fe5fed5
* mh-tool-bar.el (image-load-path): Define to shush compiler.
Bill Wohler <wohler@newt.com>
parents:
70114
diff
changeset
|
225 (let* ((load-path (mh-image-load-path-for-library "mh-e" |
00cb3fe5fed5
* mh-tool-bar.el (image-load-path): Define to shush compiler.
Bill Wohler <wohler@newt.com>
parents:
70114
diff
changeset
|
226 "mh-logo.xpm")) |
00cb3fe5fed5
* mh-tool-bar.el (image-load-path): Define to shush compiler.
Bill Wohler <wohler@newt.com>
parents:
70114
diff
changeset
|
227 (image-load-path (cons (car load-path) |
00cb3fe5fed5
* mh-tool-bar.el (image-load-path): Define to shush compiler.
Bill Wohler <wohler@newt.com>
parents:
70114
diff
changeset
|
228 (when (boundp 'image-load-path) |
00cb3fe5fed5
* mh-tool-bar.el (image-load-path): Define to shush compiler.
Bill Wohler <wohler@newt.com>
parents:
70114
diff
changeset
|
229 image-load-path)))) |
00cb3fe5fed5
* mh-tool-bar.el (image-load-path): Define to shush compiler.
Bill Wohler <wohler@newt.com>
parents:
70114
diff
changeset
|
230 (setq mh-folder-tool-bar-map |
00cb3fe5fed5
* mh-tool-bar.el (image-load-path): Define to shush compiler.
Bill Wohler <wohler@newt.com>
parents:
70114
diff
changeset
|
231 (let ((tool-bar-map (make-sparse-keymap))) |
00cb3fe5fed5
* mh-tool-bar.el (image-load-path): Define to shush compiler.
Bill Wohler <wohler@newt.com>
parents:
70114
diff
changeset
|
232 ,@(nreverse folder-button-setter) |
00cb3fe5fed5
* mh-tool-bar.el (image-load-path): Define to shush compiler.
Bill Wohler <wohler@newt.com>
parents:
70114
diff
changeset
|
233 tool-bar-map)) |
00cb3fe5fed5
* mh-tool-bar.el (image-load-path): Define to shush compiler.
Bill Wohler <wohler@newt.com>
parents:
70114
diff
changeset
|
234 (setq mh-folder-seq-tool-bar-map |
00cb3fe5fed5
* mh-tool-bar.el (image-load-path): Define to shush compiler.
Bill Wohler <wohler@newt.com>
parents:
70114
diff
changeset
|
235 (let ((tool-bar-map (copy-keymap mh-folder-tool-bar-map))) |
00cb3fe5fed5
* mh-tool-bar.el (image-load-path): Define to shush compiler.
Bill Wohler <wohler@newt.com>
parents:
70114
diff
changeset
|
236 ,@(nreverse sequence-button-setter) |
00cb3fe5fed5
* mh-tool-bar.el (image-load-path): Define to shush compiler.
Bill Wohler <wohler@newt.com>
parents:
70114
diff
changeset
|
237 tool-bar-map)) |
00cb3fe5fed5
* mh-tool-bar.el (image-load-path): Define to shush compiler.
Bill Wohler <wohler@newt.com>
parents:
70114
diff
changeset
|
238 (setq mh-show-tool-bar-map |
00cb3fe5fed5
* mh-tool-bar.el (image-load-path): Define to shush compiler.
Bill Wohler <wohler@newt.com>
parents:
70114
diff
changeset
|
239 (let ((tool-bar-map (make-sparse-keymap))) |
00cb3fe5fed5
* mh-tool-bar.el (image-load-path): Define to shush compiler.
Bill Wohler <wohler@newt.com>
parents:
70114
diff
changeset
|
240 ,@(nreverse show-button-setter) |
00cb3fe5fed5
* mh-tool-bar.el (image-load-path): Define to shush compiler.
Bill Wohler <wohler@newt.com>
parents:
70114
diff
changeset
|
241 tool-bar-map)) |
00cb3fe5fed5
* mh-tool-bar.el (image-load-path): Define to shush compiler.
Bill Wohler <wohler@newt.com>
parents:
70114
diff
changeset
|
242 (setq mh-show-seq-tool-bar-map |
00cb3fe5fed5
* mh-tool-bar.el (image-load-path): Define to shush compiler.
Bill Wohler <wohler@newt.com>
parents:
70114
diff
changeset
|
243 (let ((tool-bar-map (copy-keymap mh-show-tool-bar-map))) |
00cb3fe5fed5
* mh-tool-bar.el (image-load-path): Define to shush compiler.
Bill Wohler <wohler@newt.com>
parents:
70114
diff
changeset
|
244 ,@(nreverse show-seq-button-setter) |
00cb3fe5fed5
* mh-tool-bar.el (image-load-path): Define to shush compiler.
Bill Wohler <wohler@newt.com>
parents:
70114
diff
changeset
|
245 tool-bar-map))))) |
68465 | 246 (defun mh-tool-bar-letter-buttons-init () |
247 (when (mh-buffer-exists-p 'mh-letter-mode) | |
70145
00cb3fe5fed5
* mh-tool-bar.el (image-load-path): Define to shush compiler.
Bill Wohler <wohler@newt.com>
parents:
70114
diff
changeset
|
248 (let* ((load-path (mh-image-load-path-for-library "mh-e" |
00cb3fe5fed5
* mh-tool-bar.el (image-load-path): Define to shush compiler.
Bill Wohler <wohler@newt.com>
parents:
70114
diff
changeset
|
249 "mh-logo.xpm")) |
00cb3fe5fed5
* mh-tool-bar.el (image-load-path): Define to shush compiler.
Bill Wohler <wohler@newt.com>
parents:
70114
diff
changeset
|
250 (image-load-path (cons (car load-path) |
00cb3fe5fed5
* mh-tool-bar.el (image-load-path): Define to shush compiler.
Bill Wohler <wohler@newt.com>
parents:
70114
diff
changeset
|
251 (when (boundp 'image-load-path) |
00cb3fe5fed5
* mh-tool-bar.el (image-load-path): Define to shush compiler.
Bill Wohler <wohler@newt.com>
parents:
70114
diff
changeset
|
252 image-load-path)))) |
00cb3fe5fed5
* mh-tool-bar.el (image-load-path): Define to shush compiler.
Bill Wohler <wohler@newt.com>
parents:
70114
diff
changeset
|
253 (setq mh-letter-tool-bar-map |
00cb3fe5fed5
* mh-tool-bar.el (image-load-path): Define to shush compiler.
Bill Wohler <wohler@newt.com>
parents:
70114
diff
changeset
|
254 (let ((tool-bar-map (make-sparse-keymap))) |
00cb3fe5fed5
* mh-tool-bar.el (image-load-path): Define to shush compiler.
Bill Wohler <wohler@newt.com>
parents:
70114
diff
changeset
|
255 ,@(nreverse letter-button-setter) |
00cb3fe5fed5
* mh-tool-bar.el (image-load-path): Define to shush compiler.
Bill Wohler <wohler@newt.com>
parents:
70114
diff
changeset
|
256 tool-bar-map))))) |
68465 | 257 ;; Custom setter functions |
70145
00cb3fe5fed5
* mh-tool-bar.el (image-load-path): Define to shush compiler.
Bill Wohler <wohler@newt.com>
parents:
70114
diff
changeset
|
258 (defun mh-tool-bar-update (mode default-map sequence-map) |
00cb3fe5fed5
* mh-tool-bar.el (image-load-path): Define to shush compiler.
Bill Wohler <wohler@newt.com>
parents:
70114
diff
changeset
|
259 "Update `tool-bar-map' in all buffers of MODE. |
00cb3fe5fed5
* mh-tool-bar.el (image-load-path): Define to shush compiler.
Bill Wohler <wohler@newt.com>
parents:
70114
diff
changeset
|
260 Use SEQUENCE-MAP if display is limited; DEFAULT-MAP otherwise." |
00cb3fe5fed5
* mh-tool-bar.el (image-load-path): Define to shush compiler.
Bill Wohler <wohler@newt.com>
parents:
70114
diff
changeset
|
261 (loop for buf in (buffer-list) |
00cb3fe5fed5
* mh-tool-bar.el (image-load-path): Define to shush compiler.
Bill Wohler <wohler@newt.com>
parents:
70114
diff
changeset
|
262 do (with-current-buffer buf |
00cb3fe5fed5
* mh-tool-bar.el (image-load-path): Define to shush compiler.
Bill Wohler <wohler@newt.com>
parents:
70114
diff
changeset
|
263 (if (eq mode major-mode) |
00cb3fe5fed5
* mh-tool-bar.el (image-load-path): Define to shush compiler.
Bill Wohler <wohler@newt.com>
parents:
70114
diff
changeset
|
264 (let ((map (if mh-folder-view-stack |
00cb3fe5fed5
* mh-tool-bar.el (image-load-path): Define to shush compiler.
Bill Wohler <wohler@newt.com>
parents:
70114
diff
changeset
|
265 sequence-map |
00cb3fe5fed5
* mh-tool-bar.el (image-load-path): Define to shush compiler.
Bill Wohler <wohler@newt.com>
parents:
70114
diff
changeset
|
266 default-map))) |
00cb3fe5fed5
* mh-tool-bar.el (image-load-path): Define to shush compiler.
Bill Wohler <wohler@newt.com>
parents:
70114
diff
changeset
|
267 ;; Yes, make-local-variable is necessary since we |
00cb3fe5fed5
* mh-tool-bar.el (image-load-path): Define to shush compiler.
Bill Wohler <wohler@newt.com>
parents:
70114
diff
changeset
|
268 ;; get here during initialization when loading |
00cb3fe5fed5
* mh-tool-bar.el (image-load-path): Define to shush compiler.
Bill Wohler <wohler@newt.com>
parents:
70114
diff
changeset
|
269 ;; mh-e.el, after the +inbox buffer has been |
00cb3fe5fed5
* mh-tool-bar.el (image-load-path): Define to shush compiler.
Bill Wohler <wohler@newt.com>
parents:
70114
diff
changeset
|
270 ;; created, but before mh-folder-mode has run and |
00cb3fe5fed5
* mh-tool-bar.el (image-load-path): Define to shush compiler.
Bill Wohler <wohler@newt.com>
parents:
70114
diff
changeset
|
271 ;; created the local map. |
00cb3fe5fed5
* mh-tool-bar.el (image-load-path): Define to shush compiler.
Bill Wohler <wohler@newt.com>
parents:
70114
diff
changeset
|
272 (set (make-local-variable 'tool-bar-map) map)))))) |
68465 | 273 (defun mh-tool-bar-folder-buttons-set (symbol value) |
274 "Construct tool bar for `mh-folder-mode' and `mh-show-mode'." | |
275 (set-default symbol value) | |
70145
00cb3fe5fed5
* mh-tool-bar.el (image-load-path): Define to shush compiler.
Bill Wohler <wohler@newt.com>
parents:
70114
diff
changeset
|
276 (mh-tool-bar-folder-buttons-init) |
00cb3fe5fed5
* mh-tool-bar.el (image-load-path): Define to shush compiler.
Bill Wohler <wohler@newt.com>
parents:
70114
diff
changeset
|
277 (mh-tool-bar-update 'mh-folder-mode mh-folder-tool-bar-map |
00cb3fe5fed5
* mh-tool-bar.el (image-load-path): Define to shush compiler.
Bill Wohler <wohler@newt.com>
parents:
70114
diff
changeset
|
278 mh-folder-seq-tool-bar-map) |
00cb3fe5fed5
* mh-tool-bar.el (image-load-path): Define to shush compiler.
Bill Wohler <wohler@newt.com>
parents:
70114
diff
changeset
|
279 (mh-tool-bar-update 'mh-show-mode mh-show-tool-bar-map |
00cb3fe5fed5
* mh-tool-bar.el (image-load-path): Define to shush compiler.
Bill Wohler <wohler@newt.com>
parents:
70114
diff
changeset
|
280 mh-show-seq-tool-bar-map)) |
68465 | 281 (defun mh-tool-bar-letter-buttons-set (symbol value) |
282 "Construct tool bar for `mh-letter-mode'." | |
283 (set-default symbol value) | |
70145
00cb3fe5fed5
* mh-tool-bar.el (image-load-path): Define to shush compiler.
Bill Wohler <wohler@newt.com>
parents:
70114
diff
changeset
|
284 (mh-tool-bar-letter-buttons-init) |
00cb3fe5fed5
* mh-tool-bar.el (image-load-path): Define to shush compiler.
Bill Wohler <wohler@newt.com>
parents:
70114
diff
changeset
|
285 (mh-tool-bar-update 'mh-letter-mode mh-letter-tool-bar-map |
00cb3fe5fed5
* mh-tool-bar.el (image-load-path): Define to shush compiler.
Bill Wohler <wohler@newt.com>
parents:
70114
diff
changeset
|
286 mh-letter-tool-bar-map))) |
68465 | 287 ;; XEmacs specific code |
288 (mh-do-in-xemacs | |
289 (defvar mh-tool-bar-folder-vector-map | |
71599
c7f90876123f
(mh-tool-bar-define): Fix XEmacs' vector-list so it refers to the
Bill Wohler <wohler@newt.com>
parents:
70145
diff
changeset
|
290 (list ,@(loop for button in folder-buttons |
c7f90876123f
(mh-tool-bar-define): Fix XEmacs' vector-list so it refers to the
Bill Wohler <wohler@newt.com>
parents:
70145
diff
changeset
|
291 for vector in folder-vectors |
c7f90876123f
(mh-tool-bar-define): Fix XEmacs' vector-list so it refers to the
Bill Wohler <wohler@newt.com>
parents:
70145
diff
changeset
|
292 collect `(cons ',button ,vector)))) |
68465 | 293 (defvar mh-tool-bar-show-vector-map |
71599
c7f90876123f
(mh-tool-bar-define): Fix XEmacs' vector-list so it refers to the
Bill Wohler <wohler@newt.com>
parents:
70145
diff
changeset
|
294 (list ,@(loop for button in show-buttons |
c7f90876123f
(mh-tool-bar-define): Fix XEmacs' vector-list so it refers to the
Bill Wohler <wohler@newt.com>
parents:
70145
diff
changeset
|
295 for vector in show-vectors |
c7f90876123f
(mh-tool-bar-define): Fix XEmacs' vector-list so it refers to the
Bill Wohler <wohler@newt.com>
parents:
70145
diff
changeset
|
296 collect `(cons ',button ,vector)))) |
68465 | 297 (defvar mh-tool-bar-letter-vector-map |
71599
c7f90876123f
(mh-tool-bar-define): Fix XEmacs' vector-list so it refers to the
Bill Wohler <wohler@newt.com>
parents:
70145
diff
changeset
|
298 (list ,@(loop for button in letter-buttons |
c7f90876123f
(mh-tool-bar-define): Fix XEmacs' vector-list so it refers to the
Bill Wohler <wohler@newt.com>
parents:
70145
diff
changeset
|
299 for vector in letter-vectors |
c7f90876123f
(mh-tool-bar-define): Fix XEmacs' vector-list so it refers to the
Bill Wohler <wohler@newt.com>
parents:
70145
diff
changeset
|
300 collect `(cons ',button ,vector)))) |
c7f90876123f
(mh-tool-bar-define): Fix XEmacs' vector-list so it refers to the
Bill Wohler <wohler@newt.com>
parents:
70145
diff
changeset
|
301 (defvar mh-tool-bar-folder-buttons) |
c7f90876123f
(mh-tool-bar-define): Fix XEmacs' vector-list so it refers to the
Bill Wohler <wohler@newt.com>
parents:
70145
diff
changeset
|
302 (defvar mh-tool-bar-show-buttons) |
c7f90876123f
(mh-tool-bar-define): Fix XEmacs' vector-list so it refers to the
Bill Wohler <wohler@newt.com>
parents:
70145
diff
changeset
|
303 (defvar mh-tool-bar-letter-buttons) |
68465 | 304 ;; Custom setter functions |
305 (defun mh-tool-bar-letter-buttons-set (symbol value) | |
306 (set-default symbol value) | |
307 (when mh-xemacs-has-tool-bar-flag | |
308 (setq mh-tool-bar-letter-buttons | |
309 (loop for b in value | |
71599
c7f90876123f
(mh-tool-bar-define): Fix XEmacs' vector-list so it refers to the
Bill Wohler <wohler@newt.com>
parents:
70145
diff
changeset
|
310 collect (cdr |
c7f90876123f
(mh-tool-bar-define): Fix XEmacs' vector-list so it refers to the
Bill Wohler <wohler@newt.com>
parents:
70145
diff
changeset
|
311 (assoc b mh-tool-bar-letter-vector-map)))))) |
68465 | 312 (defun mh-tool-bar-folder-buttons-set (symbol value) |
313 (set-default symbol value) | |
314 (when mh-xemacs-has-tool-bar-flag | |
315 (setq mh-tool-bar-folder-buttons | |
316 (loop for b in value | |
317 collect (cdr (assoc b mh-tool-bar-folder-vector-map)))) | |
318 (setq mh-tool-bar-show-buttons | |
319 (loop for b in value | |
320 collect (cdr (assoc b mh-tool-bar-show-vector-map)))))) | |
321 (defun mh-tool-bar-init (mode) | |
322 "Install tool bar in MODE." | |
71599
c7f90876123f
(mh-tool-bar-define): Fix XEmacs' vector-list so it refers to the
Bill Wohler <wohler@newt.com>
parents:
70145
diff
changeset
|
323 (when mh-xemacs-use-tool-bar-flag |
c7f90876123f
(mh-tool-bar-define): Fix XEmacs' vector-list so it refers to the
Bill Wohler <wohler@newt.com>
parents:
70145
diff
changeset
|
324 (let ((tool-bar (cond ((eq mode :folder) |
c7f90876123f
(mh-tool-bar-define): Fix XEmacs' vector-list so it refers to the
Bill Wohler <wohler@newt.com>
parents:
70145
diff
changeset
|
325 mh-tool-bar-folder-buttons) |
c7f90876123f
(mh-tool-bar-define): Fix XEmacs' vector-list so it refers to the
Bill Wohler <wohler@newt.com>
parents:
70145
diff
changeset
|
326 ((eq mode :letter) |
c7f90876123f
(mh-tool-bar-define): Fix XEmacs' vector-list so it refers to the
Bill Wohler <wohler@newt.com>
parents:
70145
diff
changeset
|
327 mh-tool-bar-letter-buttons) |
c7f90876123f
(mh-tool-bar-define): Fix XEmacs' vector-list so it refers to the
Bill Wohler <wohler@newt.com>
parents:
70145
diff
changeset
|
328 ((eq mode :show) |
c7f90876123f
(mh-tool-bar-define): Fix XEmacs' vector-list so it refers to the
Bill Wohler <wohler@newt.com>
parents:
70145
diff
changeset
|
329 mh-tool-bar-show-buttons))) |
c7f90876123f
(mh-tool-bar-define): Fix XEmacs' vector-list so it refers to the
Bill Wohler <wohler@newt.com>
parents:
70145
diff
changeset
|
330 (height 37) |
c7f90876123f
(mh-tool-bar-define): Fix XEmacs' vector-list so it refers to the
Bill Wohler <wohler@newt.com>
parents:
70145
diff
changeset
|
331 (width 40) |
c7f90876123f
(mh-tool-bar-define): Fix XEmacs' vector-list so it refers to the
Bill Wohler <wohler@newt.com>
parents:
70145
diff
changeset
|
332 (buffer (current-buffer))) |
68465 | 333 (cond |
334 ((eq mh-xemacs-tool-bar-position 'top) | |
335 (set-specifier top-toolbar tool-bar buffer) | |
336 (set-specifier top-toolbar-visible-p t) | |
337 (set-specifier top-toolbar-height height)) | |
338 ((eq mh-xemacs-tool-bar-position 'bottom) | |
339 (set-specifier bottom-toolbar tool-bar buffer) | |
340 (set-specifier bottom-toolbar-visible-p t) | |
341 (set-specifier bottom-toolbar-height height)) | |
342 ((eq mh-xemacs-tool-bar-position 'left) | |
343 (set-specifier left-toolbar tool-bar buffer) | |
344 (set-specifier left-toolbar-visible-p t) | |
345 (set-specifier left-toolbar-width width)) | |
346 ((eq mh-xemacs-tool-bar-position 'right) | |
347 (set-specifier right-toolbar tool-bar buffer) | |
348 (set-specifier right-toolbar-visible-p t) | |
349 (set-specifier right-toolbar-width width)) | |
350 (t (set-specifier default-toolbar tool-bar buffer))))))) | |
351 ;; Declare customizable tool bars | |
352 (custom-declare-variable | |
353 'mh-tool-bar-folder-buttons | |
354 '(list ,@(mapcar (lambda (x) `(quote ,x)) folder-defaults)) | |
355 "List of buttons to include in MH-Folder tool bar." | |
70114
29c303bc6423
(mh-tool-bar-define): Fix enable-expr so that one can permenently
Bill Wohler <wohler@newt.com>
parents:
69728
diff
changeset
|
356 :group 'mh-tool-bar |
29c303bc6423
(mh-tool-bar-define): Fix enable-expr so that one can permenently
Bill Wohler <wohler@newt.com>
parents:
69728
diff
changeset
|
357 :set 'mh-tool-bar-folder-buttons-set |
68465 | 358 :type '(set ,@(loop for x in folder-buttons |
359 for y in folder-docs | |
69728
fb125d0913e5
* mh-e.el (mh-defcustom, mh-defface, mh-defgroup): Macros to remove
Bill Wohler <wohler@newt.com>
parents:
69714
diff
changeset
|
360 collect `(const :tag ,y ,x))) |
fb125d0913e5
* mh-e.el (mh-defcustom, mh-defface, mh-defgroup): Macros to remove
Bill Wohler <wohler@newt.com>
parents:
69714
diff
changeset
|
361 ;;:package-version '(MH-E "7.1") |
fb125d0913e5
* mh-e.el (mh-defcustom, mh-defface, mh-defgroup): Macros to remove
Bill Wohler <wohler@newt.com>
parents:
69714
diff
changeset
|
362 ) |
68465 | 363 (custom-declare-variable |
364 'mh-tool-bar-letter-buttons | |
365 '(list ,@(mapcar (lambda (x) `(quote ,x)) letter-defaults)) | |
366 "List of buttons to include in MH-Letter tool bar." | |
70114
29c303bc6423
(mh-tool-bar-define): Fix enable-expr so that one can permenently
Bill Wohler <wohler@newt.com>
parents:
69728
diff
changeset
|
367 :group 'mh-tool-bar |
29c303bc6423
(mh-tool-bar-define): Fix enable-expr so that one can permenently
Bill Wohler <wohler@newt.com>
parents:
69728
diff
changeset
|
368 :set 'mh-tool-bar-letter-buttons-set |
68465 | 369 :type '(set ,@(loop for x in letter-buttons |
370 for y in letter-docs | |
69728
fb125d0913e5
* mh-e.el (mh-defcustom, mh-defface, mh-defgroup): Macros to remove
Bill Wohler <wohler@newt.com>
parents:
69714
diff
changeset
|
371 collect `(const :tag ,y ,x))) |
fb125d0913e5
* mh-e.el (mh-defcustom, mh-defface, mh-defgroup): Macros to remove
Bill Wohler <wohler@newt.com>
parents:
69714
diff
changeset
|
372 ;;:package-version '(MH-E "7.1") |
71599
c7f90876123f
(mh-tool-bar-define): Fix XEmacs' vector-list so it refers to the
Bill Wohler <wohler@newt.com>
parents:
70145
diff
changeset
|
373 )))) |
68465 | 374 |
71599
c7f90876123f
(mh-tool-bar-define): Fix XEmacs' vector-list so it refers to the
Bill Wohler <wohler@newt.com>
parents:
70145
diff
changeset
|
375 ;; The icon names are duplicated in the Makefile and mh-xemacs.el. |
68465 | 376 (mh-tool-bar-define |
69714
7ff38193167f
Use clipboard-kill-region, clipboard-kill-ring-save, and
Bill Wohler <wohler@newt.com>
parents:
69245
diff
changeset
|
377 ((:folder mh-inc-folder mh-mime-save-parts |
7ff38193167f
Use clipboard-kill-region, clipboard-kill-ring-save, and
Bill Wohler <wohler@newt.com>
parents:
69245
diff
changeset
|
378 mh-previous-undeleted-msg mh-page-msg |
7ff38193167f
Use clipboard-kill-region, clipboard-kill-ring-save, and
Bill Wohler <wohler@newt.com>
parents:
69245
diff
changeset
|
379 mh-next-undeleted-msg mh-delete-msg mh-refile-msg |
69245
f3bbf5f32462
* mh-folder.el (mh-tool-bar-init): Autoload.
Bill Wohler <wohler@newt.com>
parents:
68597
diff
changeset
|
380 mh-undo mh-execute-commands mh-toggle-tick mh-reply |
f3bbf5f32462
* mh-folder.el (mh-tool-bar-init): Autoload.
Bill Wohler <wohler@newt.com>
parents:
68597
diff
changeset
|
381 mh-alias-grab-from-field mh-send mh-rescan-folder |
f3bbf5f32462
* mh-folder.el (mh-tool-bar-init): Autoload.
Bill Wohler <wohler@newt.com>
parents:
68597
diff
changeset
|
382 mh-tool-bar-search mh-visit-folder |
69714
7ff38193167f
Use clipboard-kill-region, clipboard-kill-ring-save, and
Bill Wohler <wohler@newt.com>
parents:
69245
diff
changeset
|
383 mh-tool-bar-customize mh-tool-bar-folder-help |
7ff38193167f
Use clipboard-kill-region, clipboard-kill-ring-save, and
Bill Wohler <wohler@newt.com>
parents:
69245
diff
changeset
|
384 mh-widen) |
7ff38193167f
Use clipboard-kill-region, clipboard-kill-ring-save, and
Bill Wohler <wohler@newt.com>
parents:
69245
diff
changeset
|
385 (:letter mh-send-letter save-buffer mh-fully-kill-draft |
7ff38193167f
Use clipboard-kill-region, clipboard-kill-ring-save, and
Bill Wohler <wohler@newt.com>
parents:
69245
diff
changeset
|
386 mh-compose-insertion ispell-message undo |
7ff38193167f
Use clipboard-kill-region, clipboard-kill-ring-save, and
Bill Wohler <wohler@newt.com>
parents:
69245
diff
changeset
|
387 clipboard-kill-region clipboard-kill-ring-save |
7ff38193167f
Use clipboard-kill-region, clipboard-kill-ring-save, and
Bill Wohler <wohler@newt.com>
parents:
69245
diff
changeset
|
388 clipboard-yank mh-tool-bar-customize |
7ff38193167f
Use clipboard-kill-region, clipboard-kill-ring-save, and
Bill Wohler <wohler@newt.com>
parents:
69245
diff
changeset
|
389 mh-tool-bar-letter-help)) |
69245
f3bbf5f32462
* mh-folder.el (mh-tool-bar-init): Autoload.
Bill Wohler <wohler@newt.com>
parents:
68597
diff
changeset
|
390 ;; Folder/Show buffer buttons |
69714
7ff38193167f
Use clipboard-kill-region, clipboard-kill-ring-save, and
Bill Wohler <wohler@newt.com>
parents:
69245
diff
changeset
|
391 (mh-inc-folder (folder) "mail/inbox" "Incorporate new mail in Inbox |
68465 | 392 This button runs `mh-inc-folder' which drags any |
69245
f3bbf5f32462
* mh-folder.el (mh-tool-bar-init): Autoload.
Bill Wohler <wohler@newt.com>
parents:
68597
diff
changeset
|
393 new mail into your Inbox folder") |
f3bbf5f32462
* mh-folder.el (mh-tool-bar-init): Autoload.
Bill Wohler <wohler@newt.com>
parents:
68597
diff
changeset
|
394 (mh-mime-save-parts (folder) "attach" "Save MIME parts from this message |
68465 | 395 This button runs `mh-mime-save-parts' which saves a message's |
69245
f3bbf5f32462
* mh-folder.el (mh-tool-bar-init): Autoload.
Bill Wohler <wohler@newt.com>
parents:
68597
diff
changeset
|
396 different parts into separate files") |
f3bbf5f32462
* mh-folder.el (mh-tool-bar-init): Autoload.
Bill Wohler <wohler@newt.com>
parents:
68597
diff
changeset
|
397 (mh-previous-undeleted-msg (folder) "left-arrow" |
f3bbf5f32462
* mh-folder.el (mh-tool-bar-init): Autoload.
Bill Wohler <wohler@newt.com>
parents:
68597
diff
changeset
|
398 "Go to the previous undeleted message |
68465 | 399 This button runs `mh-previous-undeleted-msg'") |
69714
7ff38193167f
Use clipboard-kill-region, clipboard-kill-ring-save, and
Bill Wohler <wohler@newt.com>
parents:
69245
diff
changeset
|
400 (mh-page-msg (folder) "next-page" "Page the current message forwards |
69245
f3bbf5f32462
* mh-folder.el (mh-tool-bar-init): Autoload.
Bill Wohler <wohler@newt.com>
parents:
68597
diff
changeset
|
401 This button runs `mh-page-msg'") |
f3bbf5f32462
* mh-folder.el (mh-tool-bar-init): Autoload.
Bill Wohler <wohler@newt.com>
parents:
68597
diff
changeset
|
402 (mh-next-undeleted-msg (folder) "right-arrow" "Go to the next undeleted message |
f3bbf5f32462
* mh-folder.el (mh-tool-bar-init): Autoload.
Bill Wohler <wohler@newt.com>
parents:
68597
diff
changeset
|
403 The button runs `mh-next-undeleted-msg'") |
69714
7ff38193167f
Use clipboard-kill-region, clipboard-kill-ring-save, and
Bill Wohler <wohler@newt.com>
parents:
69245
diff
changeset
|
404 (mh-delete-msg (folder) "delete" "Mark this message for deletion |
69245
f3bbf5f32462
* mh-folder.el (mh-tool-bar-init): Autoload.
Bill Wohler <wohler@newt.com>
parents:
68597
diff
changeset
|
405 This button runs `mh-delete-msg'") |
69714
7ff38193167f
Use clipboard-kill-region, clipboard-kill-ring-save, and
Bill Wohler <wohler@newt.com>
parents:
69245
diff
changeset
|
406 (mh-refile-msg (folder) "mail/move" "Refile this message |
69245
f3bbf5f32462
* mh-folder.el (mh-tool-bar-init): Autoload.
Bill Wohler <wohler@newt.com>
parents:
68597
diff
changeset
|
407 This button runs `mh-refile-msg'") |
f3bbf5f32462
* mh-folder.el (mh-tool-bar-init): Autoload.
Bill Wohler <wohler@newt.com>
parents:
68597
diff
changeset
|
408 (mh-undo (folder) "undo" "Undo last operation |
f3bbf5f32462
* mh-folder.el (mh-tool-bar-init): Autoload.
Bill Wohler <wohler@newt.com>
parents:
68597
diff
changeset
|
409 This button runs `undo'" |
f3bbf5f32462
* mh-folder.el (mh-tool-bar-init): Autoload.
Bill Wohler <wohler@newt.com>
parents:
68597
diff
changeset
|
410 (mh-outstanding-commands-p)) |
69714
7ff38193167f
Use clipboard-kill-region, clipboard-kill-ring-save, and
Bill Wohler <wohler@newt.com>
parents:
69245
diff
changeset
|
411 (mh-execute-commands (folder) "data-save" "Perform moves and deletes |
69245
f3bbf5f32462
* mh-folder.el (mh-tool-bar-init): Autoload.
Bill Wohler <wohler@newt.com>
parents:
68597
diff
changeset
|
412 This button runs `mh-execute-commands'" |
f3bbf5f32462
* mh-folder.el (mh-tool-bar-init): Autoload.
Bill Wohler <wohler@newt.com>
parents:
68597
diff
changeset
|
413 (mh-outstanding-commands-p)) |
69714
7ff38193167f
Use clipboard-kill-region, clipboard-kill-ring-save, and
Bill Wohler <wohler@newt.com>
parents:
69245
diff
changeset
|
414 (mh-toggle-tick (folder) "mail/flag-for-followup" "Toggle tick mark |
69245
f3bbf5f32462
* mh-folder.el (mh-tool-bar-init): Autoload.
Bill Wohler <wohler@newt.com>
parents:
68597
diff
changeset
|
415 This button runs `mh-toggle-tick'") |
f3bbf5f32462
* mh-folder.el (mh-tool-bar-init): Autoload.
Bill Wohler <wohler@newt.com>
parents:
68597
diff
changeset
|
416 (mh-toggle-showing (folder) "show" "Toggle showing message |
f3bbf5f32462
* mh-folder.el (mh-tool-bar-init): Autoload.
Bill Wohler <wohler@newt.com>
parents:
68597
diff
changeset
|
417 This button runs `mh-toggle-showing'") |
69714
7ff38193167f
Use clipboard-kill-region, clipboard-kill-ring-save, and
Bill Wohler <wohler@newt.com>
parents:
69245
diff
changeset
|
418 (mh-reply (folder) "mail/reply" "Reply to this message |
7ff38193167f
Use clipboard-kill-region, clipboard-kill-ring-save, and
Bill Wohler <wohler@newt.com>
parents:
69245
diff
changeset
|
419 This button runs `mh-reply'") |
69245
f3bbf5f32462
* mh-folder.el (mh-tool-bar-init): Autoload.
Bill Wohler <wohler@newt.com>
parents:
68597
diff
changeset
|
420 (mh-tool-bar-reply-from (folder) "mail/reply-from" "Reply to \"from\"") |
f3bbf5f32462
* mh-folder.el (mh-tool-bar-init): Autoload.
Bill Wohler <wohler@newt.com>
parents:
68597
diff
changeset
|
421 (mh-tool-bar-reply-to (folder) "mail/reply-to" "Reply to \"to\"") |
f3bbf5f32462
* mh-folder.el (mh-tool-bar-init): Autoload.
Bill Wohler <wohler@newt.com>
parents:
68597
diff
changeset
|
422 (mh-tool-bar-reply-all (folder) "mail/reply-all" "Reply to \"all\"") |
69714
7ff38193167f
Use clipboard-kill-region, clipboard-kill-ring-save, and
Bill Wohler <wohler@newt.com>
parents:
69245
diff
changeset
|
423 (mh-alias-grab-from-field (folder) "contact" "Create alias for sender |
69245
f3bbf5f32462
* mh-folder.el (mh-tool-bar-init): Autoload.
Bill Wohler <wohler@newt.com>
parents:
68597
diff
changeset
|
424 This button runs `mh-alias-grab-from-field'" |
f3bbf5f32462
* mh-folder.el (mh-tool-bar-init): Autoload.
Bill Wohler <wohler@newt.com>
parents:
68597
diff
changeset
|
425 (and (mh-extract-from-header-value) |
f3bbf5f32462
* mh-folder.el (mh-tool-bar-init): Autoload.
Bill Wohler <wohler@newt.com>
parents:
68597
diff
changeset
|
426 (not (mh-alias-for-from-p)))) |
f3bbf5f32462
* mh-folder.el (mh-tool-bar-init): Autoload.
Bill Wohler <wohler@newt.com>
parents:
68597
diff
changeset
|
427 (mh-send (folder) "mail/compose" "Compose new message |
f3bbf5f32462
* mh-folder.el (mh-tool-bar-init): Autoload.
Bill Wohler <wohler@newt.com>
parents:
68597
diff
changeset
|
428 This button runs `mh-send'") |
f3bbf5f32462
* mh-folder.el (mh-tool-bar-init): Autoload.
Bill Wohler <wohler@newt.com>
parents:
68597
diff
changeset
|
429 (mh-rescan-folder (folder) "refresh" "Rescan this folder |
f3bbf5f32462
* mh-folder.el (mh-tool-bar-init): Autoload.
Bill Wohler <wohler@newt.com>
parents:
68597
diff
changeset
|
430 This button runs `mh-rescan-folder'") |
f3bbf5f32462
* mh-folder.el (mh-tool-bar-init): Autoload.
Bill Wohler <wohler@newt.com>
parents:
68597
diff
changeset
|
431 (mh-pack-folder (folder) "mail/repack" "Repack this folder |
f3bbf5f32462
* mh-folder.el (mh-tool-bar-init): Autoload.
Bill Wohler <wohler@newt.com>
parents:
68597
diff
changeset
|
432 This button runs `mh-pack-folder'") |
f3bbf5f32462
* mh-folder.el (mh-tool-bar-init): Autoload.
Bill Wohler <wohler@newt.com>
parents:
68597
diff
changeset
|
433 (mh-tool-bar-search (folder) "search" "Search |
f3bbf5f32462
* mh-folder.el (mh-tool-bar-init): Autoload.
Bill Wohler <wohler@newt.com>
parents:
68597
diff
changeset
|
434 This button runs `mh-tool-bar-search-function'") |
69714
7ff38193167f
Use clipboard-kill-region, clipboard-kill-ring-save, and
Bill Wohler <wohler@newt.com>
parents:
69245
diff
changeset
|
435 (mh-visit-folder (folder) "open" "Visit other folder |
69245
f3bbf5f32462
* mh-folder.el (mh-tool-bar-init): Autoload.
Bill Wohler <wohler@newt.com>
parents:
68597
diff
changeset
|
436 This button runs `mh-visit-folder'") |
f3bbf5f32462
* mh-folder.el (mh-tool-bar-init): Autoload.
Bill Wohler <wohler@newt.com>
parents:
68597
diff
changeset
|
437 ;; Letter buffer buttons |
f3bbf5f32462
* mh-folder.el (mh-tool-bar-init): Autoload.
Bill Wohler <wohler@newt.com>
parents:
68597
diff
changeset
|
438 (mh-send-letter (letter) "mail/send" "Send this letter") |
f3bbf5f32462
* mh-folder.el (mh-tool-bar-init): Autoload.
Bill Wohler <wohler@newt.com>
parents:
68597
diff
changeset
|
439 (save-buffer (letter) "save" "Save current buffer to its file" |
f3bbf5f32462
* mh-folder.el (mh-tool-bar-init): Autoload.
Bill Wohler <wohler@newt.com>
parents:
68597
diff
changeset
|
440 (buffer-modified-p)) |
69714
7ff38193167f
Use clipboard-kill-region, clipboard-kill-ring-save, and
Bill Wohler <wohler@newt.com>
parents:
69245
diff
changeset
|
441 (mh-fully-kill-draft (letter) "delete" "Kill this draft") |
7ff38193167f
Use clipboard-kill-region, clipboard-kill-ring-save, and
Bill Wohler <wohler@newt.com>
parents:
69245
diff
changeset
|
442 (mh-compose-insertion (letter) "attach" "Insert attachment") |
7ff38193167f
Use clipboard-kill-region, clipboard-kill-ring-save, and
Bill Wohler <wohler@newt.com>
parents:
69245
diff
changeset
|
443 (ispell-message (letter) "spell" "Check spelling") |
69245
f3bbf5f32462
* mh-folder.el (mh-tool-bar-init): Autoload.
Bill Wohler <wohler@newt.com>
parents:
68597
diff
changeset
|
444 (undo (letter) "undo" "Undo last operation") |
69714
7ff38193167f
Use clipboard-kill-region, clipboard-kill-ring-save, and
Bill Wohler <wohler@newt.com>
parents:
69245
diff
changeset
|
445 (clipboard-kill-region (letter) "cut" |
7ff38193167f
Use clipboard-kill-region, clipboard-kill-ring-save, and
Bill Wohler <wohler@newt.com>
parents:
69245
diff
changeset
|
446 "Cut (kill) text in region") |
7ff38193167f
Use clipboard-kill-region, clipboard-kill-ring-save, and
Bill Wohler <wohler@newt.com>
parents:
69245
diff
changeset
|
447 (clipboard-kill-ring-save (letter) "copy" |
7ff38193167f
Use clipboard-kill-region, clipboard-kill-ring-save, and
Bill Wohler <wohler@newt.com>
parents:
69245
diff
changeset
|
448 "Copy text in region") |
7ff38193167f
Use clipboard-kill-region, clipboard-kill-ring-save, and
Bill Wohler <wohler@newt.com>
parents:
69245
diff
changeset
|
449 (clipboard-yank (letter) "paste" |
7ff38193167f
Use clipboard-kill-region, clipboard-kill-ring-save, and
Bill Wohler <wohler@newt.com>
parents:
69245
diff
changeset
|
450 "Paste (yank) text cut or copied earlier") |
69245
f3bbf5f32462
* mh-folder.el (mh-tool-bar-init): Autoload.
Bill Wohler <wohler@newt.com>
parents:
68597
diff
changeset
|
451 ;; Common buttons |
f3bbf5f32462
* mh-folder.el (mh-tool-bar-init): Autoload.
Bill Wohler <wohler@newt.com>
parents:
68597
diff
changeset
|
452 (mh-tool-bar-customize (folder letter) "preferences" "MH-E Preferences") |
f3bbf5f32462
* mh-folder.el (mh-tool-bar-init): Autoload.
Bill Wohler <wohler@newt.com>
parents:
68597
diff
changeset
|
453 (mh-tool-bar-folder-help (folder) "help" "Help! (general help) |
f3bbf5f32462
* mh-folder.el (mh-tool-bar-init): Autoload.
Bill Wohler <wohler@newt.com>
parents:
68597
diff
changeset
|
454 This button runs `info'") |
f3bbf5f32462
* mh-folder.el (mh-tool-bar-init): Autoload.
Bill Wohler <wohler@newt.com>
parents:
68597
diff
changeset
|
455 (mh-tool-bar-letter-help (letter) "help" "Help! (general help) |
f3bbf5f32462
* mh-folder.el (mh-tool-bar-init): Autoload.
Bill Wohler <wohler@newt.com>
parents:
68597
diff
changeset
|
456 This button runs `info'") |
f3bbf5f32462
* mh-folder.el (mh-tool-bar-init): Autoload.
Bill Wohler <wohler@newt.com>
parents:
68597
diff
changeset
|
457 ;; Folder narrowed to sequence buttons |
69714
7ff38193167f
Use clipboard-kill-region, clipboard-kill-ring-save, and
Bill Wohler <wohler@newt.com>
parents:
69245
diff
changeset
|
458 (mh-widen (sequence) "zoom-out" "Widen from the sequence |
69245
f3bbf5f32462
* mh-folder.el (mh-tool-bar-init): Autoload.
Bill Wohler <wohler@newt.com>
parents:
68597
diff
changeset
|
459 This button runs `mh-widen'")) |
68465 | 460 |
461 (provide 'mh-tool-bar) | |
462 | |
463 ;; Local Variables: | |
464 ;; indent-tabs-mode: nil | |
465 ;; sentence-end-double-space: nil | |
466 ;; End: | |
467 | |
68470 | 468 ;; arch-tag: 28c2436d-bb8d-486a-a8d7-5a4d9cae3513 |
68465 | 469 ;;; mh-tool-bar.el ends here |