2008-07-06 YAMASHITA Junji <ysiijj@gmail.com>
[elisp/wanderlust.git] / elmo / elmo-flag.el
index 3456331..b7e4e71 100644 (file)
 
 ;;; Commentary:
 ;;
+
+;;; Code:
 (require 'elmo-util)
 (require 'elmo-localdir)
 (eval-when-compile (require 'cl))
 
-;;; Code:
 (defcustom elmo-global-flags '(important)
   "A list of flag symbol which is managed globally by the flag folder."
   :type '(repeat symbol)
                                                elmo-flag-folder))
   (elmo-object-save
    (expand-file-name ".minfo" (elmo-folder-msgdb-path folder))
-   (elmo-flag-folder-minfo-internal folder))
+   (elmo-flag-folder-minfo-internal folder)
+   elmo-mime-charset)
   (if (elmo-flag-folder-max-number-internal folder)
       (elmo-object-save
        (expand-file-name "max" (elmo-folder-msgdb-path folder))
   (when numbers
     (let ((dir (elmo-localdir-folder-directory-internal folder))
          (new-msgdb (elmo-make-msgdb))
-         entity (i 0)
-         (len (length numbers)))
-      (message "Creating msgdb...")
-      (while numbers
-       (when (setq entity (elmo-localdir-msgdb-create-entity
-                           new-msgdb dir (car numbers)))
-         (elmo-msgdb-append-entity new-msgdb entity
-                                   (list (elmo-flag-folder-flag-internal
-                                          folder))))
-       (when (> len elmo-display-progress-threshold)
-         (setq i (1+ i))
-         (elmo-display-progress
-          'elmo-flag-folder-msgdb-create "Creating msgdb..."
-          (/ (* i 100) len)))
-       (setq numbers (cdr numbers)))
-      (message "Creating msgdb...done")
+         (flags (list (elmo-flag-folder-flag-internal folder)))
+         entity)
+      (elmo-with-progress-display (elmo-folder-msgdb-create (length numbers))
+         "Creating msgdb"
+       (dolist (number numbers)
+         (when (setq entity (elmo-localdir-msgdb-create-entity
+                             new-msgdb dir number))
+           (elmo-msgdb-append-entity new-msgdb entity flags))
+         (elmo-progress-notify 'elmo-folder-msgdb-create)))
       new-msgdb)))
 
 (defun elmo-folder-append-messages-*-flag (dst-folder