X-Git-Url: http://git.chise.org/gitweb/?a=blobdiff_plain;f=wl%2Fwl-folder.el;h=2513336decd6a8ecde9894f5d150032cff68721b;hb=0c694764b1b504129beb2b790c6b7c0e2a4890b3;hp=46af146ec4fc8d6854c955c9e83d848629383f3b;hpb=e346df9b63620f28fd9f2bbc0064ad9ea9b537a7;p=elisp%2Fwanderlust.git diff --git a/wl/wl-folder.el b/wl/wl-folder.el index 46af146..2513336 100644 --- a/wl/wl-folder.el +++ b/wl/wl-folder.el @@ -89,10 +89,14 @@ ["Sync Current Folder" wl-folder-sync-current-entity t] ; ["Drop Current Folder" wl-folder-drop-unsync-current-entity t] ["Prefetch Current Folder" wl-folder-prefetch-current-entity t] + "----" ["Mark as Read all Current Folder" wl-folder-mark-as-read-all-current-entity t] ["Expire Current Folder" wl-folder-expire-current-entity t] + "----" + ["Go to Draft Folder" wl-folder-goto-draft-folder t] ["Empty trash" wl-folder-empty-trash t] ["Flush queue" wl-folder-flush-queue t] + "----" ["Open All" wl-folder-open-all t] ["Open All Unread folder" wl-folder-open-all-unread-folder t] ["Close All" wl-folder-close-all t] @@ -116,7 +120,7 @@ ["Change Plug Status" wl-plugged-change t] "----" ["Save Current Status" wl-save t] - ["Update Satus" wl-status-update t] + ["Update Status" wl-status-update t] ["Exit" wl-exit t] )) @@ -154,6 +158,8 @@ (define-key wl-folder-mode-map "W" 'wl-folder-write-current-folder) (define-key wl-folder-mode-map "\C-c\C-o" 'wl-jump-to-draft-buffer) (define-key wl-folder-mode-map "\C-c\C-a" 'wl-addrmgr) + (define-key wl-folder-mode-map "\C-c\C-p" 'wl-folder-jump-to-previous-summary) + (define-key wl-folder-mode-map "\C-c\C-n" 'wl-folder-jump-to-next-summary) (define-key wl-folder-mode-map "rS" 'wl-folder-sync-region) (define-key wl-folder-mode-map "S" 'wl-folder-sync-current-entity) (define-key wl-folder-mode-map "rs" 'wl-folder-check-region) @@ -2194,6 +2200,10 @@ Use `wl-subscribed-mailing-list'." (interactive) (wl-folder-goto-folder-subr nil t)) +(defun wl-folder-goto-draft-folder (&optional arg) + (interactive "P") + (wl-folder-goto-folder-subr wl-draft-folder arg)) + (defun wl-folder-goto-folder-subr (&optional folder sticky) (beginning-of-line) (let (summary-buf fld-name entity id error-selecting) @@ -2229,6 +2239,10 @@ Use `wl-subscribed-mailing-list'." ;(if (fboundp 'mmelmo-cleanup-entity-buffers) ;(mmelmo-cleanup-entity-buffers)) (bury-buffer wl-folder-buffer-name) + (dolist (summary-buf (wl-collect-summary)) + (bury-buffer summary-buf)) + (dolist (draft-buf (wl-collect-draft)) + (bury-buffer draft-buf)) (delete-windows-on wl-folder-buffer-name t)) (defun wl-folder-info-save () @@ -2783,6 +2797,7 @@ Call `wl-summary-write-current-folder' with current folder name." (kill-buffer bufname)))) (defun wl-folder-create-subr (folder) + (if (elmo-folder-creatable-p folder) (if (y-or-n-p (format "Folder %s does not exist, create it? " (elmo-folder-name-internal folder))) (progn @@ -2793,7 +2808,8 @@ Call `wl-summary-write-current-folder' with current folder name." wl-folder-entity-hashtb)) (unless (elmo-folder-create folder) (error "Create folder failed"))) - (error "Folder %s is not created" (elmo-folder-name-internal folder)))) + (error "Folder %s is not created" (elmo-folder-name-internal folder))) + (error "Folder %s does not exist" (elmo-folder-name-internal folder)))) (defun wl-folder-confirm-existence (folder &optional force) (if force @@ -2858,6 +2874,20 @@ Call `wl-summary-write-current-folder' with current folder name." ",")) (message "No message was picked."))))) +(defun wl-folder-jump-to-next-summary () + (interactive) + (when (wl-collect-summary) + (if (get-buffer-window (car (wl-collect-summary))) + (switch-to-buffer-other-window (car (wl-collect-summary)))) + (wl-summary-next-buffer))) + +(defun wl-folder-jump-to-previous-summary () + (interactive) + (when (wl-collect-summary) + (if (get-buffer-window (car (wl-collect-summary))) + (switch-to-buffer-other-window (car (wl-collect-summary)))) + (wl-summary-previous-buffer))) + (require 'product) (product-provide (provide 'wl-folder) (require 'wl-version))