Mercurial > emacs
changeset 69337:55665aaac72b
* gnus-util.el (gnus-tool-bar-update): New function.
* gnus-group.el (gnus-group-update-tool-bar): New variable.
(gnus-group-insert-group-line): Add gnus-tool-bar-update.
* gnus-topic.el (gnus-topic-prepare-topic): Add gnus-tool-bar-update.
author | Reiner Steib <Reiner.Steib@gmx.de> |
---|---|
date | Wed, 08 Mar 2006 14:27:20 +0000 |
parents | bb8e1e07b59b |
children | 3b476a22dc6a |
files | lisp/gnus/ChangeLog lisp/gnus/gnus-group.el lisp/gnus/gnus-topic.el lisp/gnus/gnus-util.el |
diffstat | 4 files changed, 51 insertions(+), 0 deletions(-) [+] |
line wrap: on
line diff
--- a/lisp/gnus/ChangeLog Wed Mar 08 10:24:28 2006 +0000 +++ b/lisp/gnus/ChangeLog Wed Mar 08 14:27:20 2006 +0000 @@ -1,3 +1,12 @@ +2006-03-08 Reiner Steib <Reiner.Steib@gmx.de> + + * gnus-util.el (gnus-tool-bar-update): New function. + + * gnus-group.el (gnus-group-update-tool-bar): New variable. + (gnus-group-insert-group-line): Add gnus-tool-bar-update. + + * gnus-topic.el (gnus-topic-prepare-topic): Add gnus-tool-bar-update. + 2006-03-06 Katsumi Yamaoka <yamaoka@jpl.org> * mm-view.el (mm-w3m-cid-retrieve-1): Check carefully whether
--- a/lisp/gnus/gnus-group.el Wed Mar 08 10:24:28 2006 +0000 +++ b/lisp/gnus/gnus-group.el Wed Mar 08 14:27:20 2006 +0000 @@ -1379,6 +1379,18 @@ (gnus-range-difference (list active) (gnus-info-read info)) seen)))))) +(defcustom gnus-group-update-tool-bar + (and (not (featurep 'xemacs)) + (boundp 'tool-bar-mode) + tool-bar-mode + ;; Using `redraw-frame' (see `gnus-tool-bar-update') in Emacs 21 might + ;; be confusing, so maybe we shouldn't call it by default. + (fboundp 'force-window-update)) + "Force updating the group buffer tool bar." + :group 'gnus-group + :version "22.1" + :type 'boolean) + (defun gnus-group-insert-group-line (gnus-tmp-group gnus-tmp-level gnus-tmp-marked number gnus-tmp-method) @@ -1447,8 +1459,10 @@ (bbb-grouplens-group-p gnus-tmp-group)) "")) (buffer-read-only nil) + beg end header gnus-tmp-header) ; passed as parameter to user-funcs. (beginning-of-line) + (setq beg (point)) (gnus-add-text-properties (point) (prog1 (1+ (point)) @@ -1463,6 +1477,12 @@ gnus-marked ,gnus-tmp-marked-mark gnus-indentation ,gnus-group-indentation gnus-level ,gnus-tmp-level)) + (setq end (point)) + (when gnus-group-update-tool-bar + (gnus-put-text-property beg end 'point-entered + 'gnus-tool-bar-update) + (gnus-put-text-property beg end 'point-left + 'gnus-tool-bar-update)) (forward-line -1) (when (inline (gnus-visual-p 'group-highlight 'highlight)) (gnus-run-hooks 'gnus-group-update-hook))
--- a/lisp/gnus/gnus-topic.el Wed Mar 08 10:24:28 2006 +0000 +++ b/lisp/gnus/gnus-topic.el Wed Mar 08 14:27:20 2006 +0000 @@ -585,6 +585,11 @@ (not (eq (nth 2 type) 'hidden)) level all-entries unread)) (gnus-topic-update-unreads (car type) unread) + (when gnus-group-update-tool-bar + (gnus-put-text-property beg end 'point-entered + 'gnus-tool-bar-update) + (gnus-put-text-property beg end 'point-left + 'gnus-tool-bar-update)) (goto-char end) unread))
--- a/lisp/gnus/gnus-util.el Wed Mar 08 10:24:28 2006 +0000 +++ b/lisp/gnus/gnus-util.el Wed Mar 08 14:27:20 2006 +0000 @@ -1459,6 +1459,23 @@ display)) display))))) +(defun gnus-tool-bar-update (&rest ignore) + "Update the tool bar." + (when (and (boundp 'tool-bar-mode) + tool-bar-mode) + (let* ((args nil) + (func (cond ((featurep 'xemacs) + 'ignore) + ((fboundp 'tool-bar-update) + 'tool-bar-update) + ((fboundp 'force-window-update) + 'force-window-update) + ((fboundp 'redraw-frame) + (setq args (list (selected-frame))) + 'redraw-frame) + (t 'ignore)))) + (apply func args)))) + ;; Fixme: This has only one use (in gnus-agent), which isn't worthwhile. (defmacro gnus-mapcar (function seq1 &rest seqs2_n) "Apply FUNCTION to each element of the sequences, and make a list of the results.