folder
(nconc (elmo-multi-folder-children-internal
folder)
- (list (elmo-make-folder (car name)))))
+ (list (elmo-get-folder (car name)))))
(setq name (cdr name))
(when (and (> (length name) 0)
(eq (aref name 0) ?,))
(elmo-define-signal-filter (folder sender)
(memq sender (elmo-multi-folder-children-internal folder))))
(elmo-connect-signal
- nil 'cache-changed folder
+ nil 'status-changed folder
+ (elmo-define-signal-handler (folder child numbers)
+ (elmo-emit-signal 'status-changed folder
+ (elmo-multi-map-numbers folder child numbers)))
+ (elmo-define-signal-filter (folder sender)
+ (memq sender (elmo-multi-folder-children-internal folder))))
+ (elmo-connect-signal
+ nil 'update-overview folder
(elmo-define-signal-handler (folder child number)
(elmo-emit-signal
- 'flag-changed folder
+ 'update-overview folder
(car (elmo-multi-map-numbers folder child (list number)))))
(elmo-define-signal-filter (folder sender)
(memq sender (elmo-multi-folder-children-internal folder)))))
(dolist (fld (elmo-multi-folder-children-internal folder))
(elmo-folder-close-internal fld)))
-(luna-define-method elmo-folder-close :after ((folder elmo-multi-folder))
+(luna-define-method elmo-folder-close ((folder elmo-multi-folder))
+ (elmo-generic-folder-close folder)
(dolist (fld (elmo-multi-folder-children-internal folder))
- (elmo-folder-set-msgdb-internal fld nil)))
+ (elmo-folder-close fld)))
+
+(luna-define-method elmo-message-killed-p ((folder elmo-multi-folder) number)
+ (let ((pair (elmo-multi-real-folder-number folder number)))
+ (elmo-message-killed-p (car pair) (cdr pair))))
(luna-define-method elmo-folder-synchronize ((folder elmo-multi-folder)
&optional
(let* ((pair (elmo-multi-real-folder-number folder key))
(entity (elmo-message-entity (car pair) (cdr pair))))
(when entity
- (elmo-message-entity-set-number (elmo-message-copy-entity entity)
- key))))
+ (setq entity (elmo-message-copy-entity entity))
+ (elmo-message-entity-set-number entity key)
+ entity)))
((stringp key)
(let ((children (elmo-multi-folder-children-internal folder))
(cur-number 0)
(elmo-message-entity-field entity 'references)))
(luna-define-method elmo-message-field ((folder elmo-multi-folder)
- number field)
+ number field &optional type)
(let ((pair (elmo-multi-real-folder-number folder number)))
- (elmo-message-field (car pair) (cdr pair) field)))
+ (elmo-message-field (car pair) (cdr pair) field type)))
(luna-define-method elmo-message-flag-available-p ((folder
elmo-multi-folder) number
(setq flag-alist (cons pair flag-alist)))))
flag-alist))
+(luna-define-method elmo-folder-recover-messages ((folder elmo-multi-folder)
+ numbers)
+ (dolist (element (elmo-multi-split-numbers folder numbers))
+ (when (cdr element)
+ (elmo-folder-recover-messages (car element) (cdr element)))))
+
(require 'product)
(product-provide (provide 'elmo-multi) (require 'elmo-version))