diff options
| author | Chong Yidong | 2008-10-12 13:45:46 +0000 |
|---|---|---|
| committer | Chong Yidong | 2008-10-12 13:45:46 +0000 |
| commit | e4779829b09ff2cfda7fc7fd49c3044f19f6701c (patch) | |
| tree | 607e45889b5bed69a97c668cf413cf851d73988a | |
| parent | 3240257259e7a9b7226ba05b496edacd664eaa73 (diff) | |
| download | emacs-e4779829b09ff2cfda7fc7fd49c3044f19f6701c.tar.gz emacs-e4779829b09ff2cfda7fc7fd49c3044f19f6701c.zip | |
(tool-bar-setup): Variable deleted.
(tool-bar-setup): Set it up unconditionally.
| -rw-r--r-- | lisp/tool-bar.el | 116 |
1 files changed, 55 insertions, 61 deletions
diff --git a/lisp/tool-bar.el b/lisp/tool-bar.el index e38f02df907..59a73e2aa4e 100644 --- a/lisp/tool-bar.el +++ b/lisp/tool-bar.el | |||
| @@ -57,7 +57,8 @@ conveniently adding tool bar items." | |||
| 57 | (dolist (frame (frame-list)) | 57 | (dolist (frame (frame-list)) |
| 58 | (if (display-graphic-p frame) | 58 | (if (display-graphic-p frame) |
| 59 | (set-frame-parameter frame 'tool-bar-lines 1))) | 59 | (set-frame-parameter frame 'tool-bar-lines 1))) |
| 60 | (tool-bar-setup)) | 60 | (if (= 1 (length (default-value 'tool-bar-map))) ; not yet setup |
| 61 | (tool-bar-setup))) | ||
| 61 | (modify-all-frames-parameters (list (cons 'tool-bar-lines 0))))) | 62 | (modify-all-frames-parameters (list (cons 'tool-bar-lines 0))))) |
| 62 | 63 | ||
| 63 | ;;;###autoload | 64 | ;;;###autoload |
| @@ -258,66 +259,59 @@ holds a keymap." | |||
| 258 | 259 | ||
| 259 | ;;; Set up some global items. Additions/deletions up for grabs. | 260 | ;;; Set up some global items. Additions/deletions up for grabs. |
| 260 | 261 | ||
| 261 | (defvar tool-bar-setup nil | 262 | (defun tool-bar-setup () |
| 262 | "Non-nil if the tool-bar has been set up by `tool-bar-setup'.") | 263 | ;; People say it's bad to have EXIT on the tool bar, since users |
| 263 | 264 | ;; might inadvertently click that button. | |
| 264 | (defun tool-bar-setup (&optional frame) | 265 | ;;(tool-bar-add-item-from-menu 'save-buffers-kill-emacs "exit") |
| 265 | (unless (or tool-bar-setup | 266 | (tool-bar-add-item-from-menu 'find-file "new") |
| 266 | (null tool-bar-mode)) | 267 | (tool-bar-add-item-from-menu 'menu-find-file-existing "open") |
| 267 | (with-selected-frame (or frame (selected-frame)) | 268 | (tool-bar-add-item-from-menu 'dired "diropen") |
| 268 | ;; People say it's bad to have EXIT on the tool bar, since users | 269 | (tool-bar-add-item-from-menu 'kill-this-buffer "close") |
| 269 | ;; might inadvertently click that button. | 270 | (tool-bar-add-item-from-menu 'save-buffer "save" nil |
| 270 | ;;(tool-bar-add-item-from-menu 'save-buffers-kill-emacs "exit") | 271 | :visible '(or buffer-file-name |
| 271 | (tool-bar-add-item-from-menu 'find-file "new") | 272 | (not (eq 'special |
| 272 | (tool-bar-add-item-from-menu 'menu-find-file-existing "open") | 273 | (get major-mode |
| 273 | (tool-bar-add-item-from-menu 'dired "diropen") | 274 | 'mode-class))))) |
| 274 | (tool-bar-add-item-from-menu 'kill-this-buffer "close") | 275 | (tool-bar-add-item-from-menu 'write-file "saveas" nil |
| 275 | (tool-bar-add-item-from-menu 'save-buffer "save" nil | 276 | :visible '(or buffer-file-name |
| 276 | :visible '(or buffer-file-name | 277 | (not (eq 'special |
| 277 | (not (eq 'special | 278 | (get major-mode |
| 278 | (get major-mode | 279 | 'mode-class))))) |
| 279 | 'mode-class))))) | 280 | (tool-bar-add-item-from-menu 'undo "undo" nil |
| 280 | (tool-bar-add-item-from-menu 'write-file "saveas" nil | 281 | :visible '(not (eq 'special (get major-mode |
| 281 | :visible '(or buffer-file-name | 282 | 'mode-class)))) |
| 282 | (not (eq 'special | 283 | (tool-bar-add-item-from-menu (lookup-key menu-bar-edit-menu [cut]) |
| 283 | (get major-mode | 284 | "cut" nil |
| 284 | 'mode-class))))) | 285 | :visible '(not (eq 'special (get major-mode |
| 285 | (tool-bar-add-item-from-menu 'undo "undo" nil | 286 | 'mode-class)))) |
| 286 | :visible '(not (eq 'special (get major-mode | 287 | (tool-bar-add-item-from-menu (lookup-key menu-bar-edit-menu [copy]) |
| 287 | 'mode-class)))) | 288 | "copy") |
| 288 | (tool-bar-add-item-from-menu (lookup-key menu-bar-edit-menu [cut]) | 289 | (tool-bar-add-item-from-menu (lookup-key menu-bar-edit-menu [paste]) |
| 289 | "cut" nil | 290 | "paste" nil |
| 290 | :visible '(not (eq 'special (get major-mode | 291 | :visible '(not (eq 'special (get major-mode |
| 291 | 'mode-class)))) | 292 | 'mode-class)))) |
| 292 | (tool-bar-add-item-from-menu (lookup-key menu-bar-edit-menu [copy]) | 293 | (tool-bar-add-item-from-menu 'nonincremental-search-forward "search") |
| 293 | "copy") | 294 | ;;(tool-bar-add-item-from-menu 'ispell-buffer "spell") |
| 294 | (tool-bar-add-item-from-menu (lookup-key menu-bar-edit-menu [paste]) | 295 | |
| 295 | "paste" nil | 296 | ;; There's no icon appropriate for News and we need a command rather |
| 296 | :visible '(not (eq 'special (get major-mode | 297 | ;; than a lambda for Read Mail. |
| 297 | 'mode-class)))) | 298 | ;;(tool-bar-add-item-from-menu 'compose-mail "mail/compose") |
| 298 | (tool-bar-add-item-from-menu 'nonincremental-search-forward "search") | 299 | |
| 299 | ;;(tool-bar-add-item-from-menu 'ispell-buffer "spell") | 300 | (tool-bar-add-item-from-menu 'print-buffer "print") |
| 300 | 301 | ||
| 301 | ;; There's no icon appropriate for News and we need a command rather | 302 | ;; tool-bar-add-item-from-menu itself operates on |
| 302 | ;; than a lambda for Read Mail. | 303 | ;; (default-value 'tool-bar-map), but when we don't use that function, |
| 303 | ;;(tool-bar-add-item-from-menu 'compose-mail "mail/compose") | 304 | ;; we must explicitly operate on the default value. |
| 304 | 305 | ||
| 305 | (tool-bar-add-item-from-menu 'print-buffer "print") | 306 | (let ((tool-bar-map (default-value 'tool-bar-map))) |
| 306 | 307 | (tool-bar-add-item "preferences" 'customize 'customize | |
| 307 | ;; tool-bar-add-item-from-menu itself operates on | 308 | :help "Edit preferences (customize)") |
| 308 | ;; (default-value 'tool-bar-map), but when we don't use that function, | 309 | |
| 309 | ;; we must explicitly operate on the default value. | 310 | (tool-bar-add-item "help" (lambda () |
| 310 | 311 | (interactive) | |
| 311 | (let ((tool-bar-map (default-value 'tool-bar-map))) | 312 | (popup-menu menu-bar-help-menu)) |
| 312 | (tool-bar-add-item "preferences" 'customize 'customize | 313 | 'help |
| 313 | :help "Edit preferences (customize)") | 314 | :help "Pop up the Help menu"))) |
| 314 | |||
| 315 | (tool-bar-add-item "help" (lambda () | ||
| 316 | (interactive) | ||
| 317 | (popup-menu menu-bar-help-menu)) | ||
| 318 | 'help | ||
| 319 | :help "Pop up the Help menu")) | ||
| 320 | (setq tool-bar-setup t)))) | ||
| 321 | 315 | ||
| 322 | 316 | ||
| 323 | (provide 'tool-bar) | 317 | (provide 'tool-bar) |