1 |
;;; mh-speed.el --- Speedbar interface for MH-E. |
;;; mh-speed.el --- Speedbar interface for MH-E. |
2 |
|
|
3 |
;; Copyright (C) 2002, 2003, 2004 Free Software Foundation, Inc. |
;; Copyright (C) 2002, 2003, 2004, 2005 Free Software Foundation, Inc. |
4 |
|
|
5 |
;; Author: Satyaki Das <satyaki@theforce.stanford.edu> |
;; Author: Satyaki Das <satyaki@theforce.stanford.edu> |
6 |
;; Maintainer: Bill Wohler <wohler@newt.com> |
;; Maintainer: Bill Wohler <wohler@newt.com> |
67 |
(erase-buffer) |
(erase-buffer) |
68 |
(clrhash mh-speed-folder-map) |
(clrhash mh-speed-folder-map) |
69 |
(speedbar-make-tag-line 'bracket ?+ 'mh-speed-toggle nil " " 'ignore nil |
(speedbar-make-tag-line 'bracket ?+ 'mh-speed-toggle nil " " 'ignore nil |
70 |
'mh-speedbar-folder-face 0) |
'mh-speedbar-folder 0) |
71 |
(forward-line -1) |
(forward-line -1) |
72 |
(setf (gethash nil mh-speed-folder-map) |
(setf (gethash nil mh-speed-folder-map) |
73 |
(set-marker (or (gethash nil mh-speed-folder-map) (make-marker)) |
(set-marker (or (gethash nil mh-speed-folder-map) (make-marker)) |
149 |
(set-buffer speedbar-buffer) |
(set-buffer speedbar-buffer) |
150 |
|
|
151 |
;; Remove highlight from previous match... |
;; Remove highlight from previous match... |
152 |
(mh-speed-highlight mh-speed-last-selected-folder |
(mh-speed-highlight mh-speed-last-selected-folder 'mh-speedbar-folder) |
|
'mh-speedbar-folder-face) |
|
153 |
|
|
154 |
;; If we found a match highlight it... |
;; If we found a match highlight it... |
155 |
(when (mh-speed-goto-folder newcf) |
(when (mh-speed-goto-folder newcf) |
156 |
(mh-speed-highlight newcf 'mh-speedbar-selected-folder-face)) |
(mh-speed-highlight newcf 'mh-speedbar-selected-folder)) |
157 |
|
|
158 |
(setq mh-speed-last-selected-folder newcf) |
(setq mh-speed-last-selected-folder newcf) |
159 |
(speedbar-position-cursor-on-line) |
(speedbar-position-cursor-on-line) |
165 |
|
|
166 |
(defun mh-speed-normal-face (face) |
(defun mh-speed-normal-face (face) |
167 |
"Return normal face for given FACE." |
"Return normal face for given FACE." |
168 |
(cond ((eq face 'mh-speedbar-folder-with-unseen-messages-face) |
(cond ((eq face 'mh-speedbar-folder-with-unseen-messages) |
169 |
'mh-speedbar-folder-face) |
'mh-speedbar-folder) |
170 |
((eq face 'mh-speedbar-selected-folder-with-unseen-messages-face) |
((eq face 'mh-speedbar-selected-folder-with-unseen-messages) |
171 |
'mh-speedbar-selected-folder-face) |
'mh-speedbar-selected-folder) |
172 |
(t face))) |
(t face))) |
173 |
|
|
174 |
(defun mh-speed-bold-face (face) |
(defun mh-speed-bold-face (face) |
175 |
"Return bold face for given FACE." |
"Return bold face for given FACE." |
176 |
(cond ((eq face 'mh-speedbar-folder-face) |
(cond ((eq face 'mh-speedbar-folder) |
177 |
'mh-speedbar-folder-with-unseen-messages-face) |
'mh-speedbar-folder-with-unseen-messages) |
178 |
((eq face 'mh-speedbar-selected-folder-face) |
((eq face 'mh-speedbar-selected-folder) |
179 |
'mh-speedbar-selected-folder-with-unseen-messages-face) |
'mh-speedbar-selected-folder-with-unseen-messages) |
180 |
(t face))) |
(t face))) |
181 |
|
|
182 |
(defun mh-speed-highlight (folder face) |
(defun mh-speed-highlight (folder face) |
271 |
"")) |
"")) |
272 |
'mh-speed-view nil |
'mh-speed-view nil |
273 |
(if (and counts (> (car counts) 0)) |
(if (and counts (> (car counts) 0)) |
274 |
'mh-speedbar-folder-with-unseen-messages-face |
'mh-speedbar-folder-with-unseen-messages |
275 |
'mh-speedbar-folder-face) |
'mh-speedbar-folder) |
276 |
level) |
level) |
277 |
(save-excursion |
(save-excursion |
278 |
(forward-line -1) |
(forward-line -1) |
495 |
(add-text-properties |
(add-text-properties |
496 |
(line-beginning-position) (1+ (line-beginning-position)) |
(line-beginning-position) (1+ (line-beginning-position)) |
497 |
`(mh-children-p ,(equal parent-change ?+))))) |
`(mh-children-p ,(equal parent-change ?+))))) |
498 |
(mh-speed-highlight mh-speed-last-selected-folder |
(mh-speed-highlight mh-speed-last-selected-folder 'mh-speedbar-folder) |
|
'mh-speedbar-folder-face) |
|
499 |
(setq mh-speed-last-selected-folder nil) |
(setq mh-speed-last-selected-folder nil) |
500 |
(setq mh-speed-refresh-flag t))) |
(setq mh-speed-refresh-flag t))) |
501 |
(when (equal folder "") |
(when (equal folder "") |