Add section "Parameters for Sending".
[elisp/wanderlust.git] / wl / wl-e21.el
index ffabf4a..d15e16f 100644 (file)
 
 (eval-when-compile
   (defmacro wl-e21-display-image-p ()
-    '(and (display-images-p)
+    '(and wl-highlight-folder-with-icon
          (image-type-available-p 'xpm))))
 
 (defun wl-e21-setup-toolbar (bar)
 
 (eval-when-compile
   (defsubst wl-e21-highlight-folder-group-line (start end icon numbers)
-    (when (wl-e21-display-image-p)
-      (let (overlay)
-       (let ((overlays (overlays-in start end)))
-         (while (and (setq overlay (pop overlays))
-                     (not (overlay-get overlay 'wl-e21-icon)))))
-       (unless overlay
-         (setq overlay (make-overlay start end))
-         (overlay-put overlay 'wl-e21-icon t)
-         (overlay-put overlay 'evaporate t))
-       (let ((image (get icon 'image)))
+    (let (image)
+      (when (wl-e21-display-image-p)
+       (let (overlay)
+         (let ((overlays (overlays-in start end)))
+           (while (and (setq overlay (pop overlays))
+                       (not (overlay-get overlay 'wl-e21-icon)))))
+         (unless overlay
+           (setq overlay (make-overlay start end))
+           (overlay-put overlay 'wl-e21-icon t)
+           (overlay-put overlay 'evaporate t))
+         (setq image (get icon 'image))
          (unless image
            (let ((name (symbol-value
                         (cdr (assq icon wl-folder-toggle-icon-list))))
                  (load-path (cons wl-icon-directory load-path)))
-             (when (setq image (find-image `((:type xpm :file ,name
-                                                    :ascent center))))
-               (setq image (put icon 'image (propertize name
-                                                        'display image))))))
-         (overlay-put overlay 'before-string image)
-         (overlay-put overlay 'invisible (and image t))
-         (when (and wl-use-highlight-mouse-line (display-mouse-p))
-           (let ((inhibit-read-only t))
-             (put-text-property (if image
-                                    (max (1- start) (line-beginning-position))
-                                  start)
-                                (line-end-position)
-                                'mouse-face 'highlight)))))))
+             (setq image (find-image `((:type xpm :file ,name
+                                              :ascent center))))))
+         (overlay-put overlay 'display image)))
+      (when (and wl-use-highlight-mouse-line (display-mouse-p))
+       (let ((inhibit-read-only t))
+         (put-text-property (if image
+                                (max (1- start) (line-beginning-position))
+                              start)
+                            (line-end-position)
+                            'mouse-face 'highlight)))))
 
   (defsubst wl-e21-highlight-folder-by-numbers (start end text-face numbers)
     (when (display-color-p)
                                             (elmo-make-folder fld-name))))
                             (get (intern (format "wl-folder-%s-image" type))
                                  'image)))))
-             (overlay-put overlay 'before-string image)))
+             (overlay-put overlay 'before-string
+                          (propertize " " 'display image
+                                      'invisible t))))
          (when (and wl-use-highlight-mouse-line (display-mouse-p))
            (let ((inhibit-read-only t))
              (put-text-property (if image
                (setq overlay (make-overlay start end))
                (overlay-put overlay 'wl-e21-icon t)
                (overlay-put overlay 'evaporate t))
-             (put-text-property 0 (length status) 'display image status)
-             (overlay-put overlay 'before-string status)
-             (overlay-put overlay 'invisible t))))))))
+             (overlay-put overlay 'display image))))))))
 
 (defun wl-plugged-set-folder-icon (folder string)
-  (if (wl-e21-display-image-p)
-      (let (type)
-       (cond ((string= folder wl-queue-folder)
-              (concat (get 'wl-folder-queue-image 'image)
-                      string))
-             ((setq type (elmo-folder-type folder))
-              (concat (get (intern (format "wl-folder-%s-image"
-                                           type))
-                           'image)
-                      string))
-             (t
-              string)))
-    string))
+  (let (image type)
+    (when (wl-e21-display-image-p)
+      (setq image
+           (cond ((string= folder wl-queue-folder)
+                  (get 'wl-folder-queue-image 'image))
+                 ((setq type (or (elmo-folder-type folder)
+                                 (elmo-folder-type-internal
+                                  (elmo-make-folder folder))))
+                  (get (intern (format "wl-folder-%s-image" type))
+                       'image)))))
+    (if image
+       (concat (propertize " " 'display image 'invisible t) string)
+      string)))
 
 (defvar wl-folder-internal-icon-list
   ;; alist of (image . icon-file)
     (wl-folder-nmz-image         . wl-nmz-folder-icon)
     (wl-folder-shimbun-image      . wl-shimbun-folder-icon)
     (wl-folder-file-image        . wl-file-folder-icon)
+    (wl-folder-access-image      . wl-access-folder-icon)
     (wl-folder-trash-empty-image  . wl-empty-trash-folder-icon)
     (wl-folder-draft-image       . wl-draft-folder-icon)
     (wl-folder-queue-image       . wl-queue-folder-icon)
          (setq name (symbol-value (cdr icon))
                image (find-image `((:type xpm :file ,name :ascent center))))
          (when image
-           (put (car icon) 'image (propertize name 'display image))))))))
+           (put (car icon) 'image image)))))))
 
 (defun wl-plugged-init-icons ()
   (let ((props (when (display-mouse-p)
     (define-key keymap "l" 'wl-message-toggle-disp-summary)
     (define-key keymap "\C-c:d" 'wl-message-decrypt-pgp-nonmime)
     (define-key keymap "\C-c:v" 'wl-message-verify-pgp-nonmime)
+    (define-key keymap "w" 'wl-draft)
     (define-key keymap [mouse-4] 'wl-message-wheel-down)
     (define-key keymap [mouse-5] 'wl-message-wheel-up)
     (define-key keymap [S-mouse-4] 'wl-message-wheel-down)
 See info under Wanderlust for full documentation.
 
 Special commands:
-\\{wl-draft-mode-map}"))
+\\{wl-draft-mode-map}"
+    (setq font-lock-defaults nil)))
 
 (defun wl-draft-key-setup ()
   (define-key wl-draft-mode-map "\C-c\C-y" 'wl-draft-yank-original)