(elmo-dop-spool-folder-list-messages folder))))
t))
-(luna-define-method elmo-folder-list-unreads :around ((folder
- elmo-net-folder))
+(luna-define-method elmo-folder-list-flagged-internal ((folder elmo-net-folder)
+ flag)
(if (and (elmo-folder-plugged-p folder)
(elmo-folder-use-flag-p folder))
- (elmo-folder-send folder 'elmo-folder-list-unreads-plugged)
- (luna-call-next-method)))
-
-(luna-define-method elmo-folder-list-importants :around ((folder
- elmo-net-folder))
- (if (and (elmo-folder-plugged-p folder)
- (elmo-folder-use-flag-p folder))
- (elmo-folder-send folder 'elmo-folder-list-importants-plugged)
- (luna-call-next-method)))
-
-(luna-define-method elmo-folder-list-answereds :around ((folder
- elmo-net-folder))
- (if (and (elmo-folder-plugged-p folder)
- (elmo-folder-use-flag-p folder))
- (elmo-folder-send folder 'elmo-folder-list-answereds-plugged)
- (luna-call-next-method)))
-
-(luna-define-method elmo-folder-list-unreads-plugged
- ((folder elmo-net-folder))
- t)
-
-(luna-define-method elmo-folder-list-importants-plugged
- ((folder elmo-net-folder))
- t)
+ (elmo-folder-send folder 'elmo-folder-list-flagged-plugged flag)
+ ;; Should consider offline append and removal?
+ t))
-(luna-define-method elmo-folder-list-answereds-plugged
- ((folder elmo-net-folder))
+(luna-define-method elmo-folder-list-flagged-plugged ((folder elmo-net-folder)
+ flag)
t)
(luna-define-method elmo-folder-delete-messages ((folder elmo-net-folder)
(mapcar 'abs numbers)
flag-table)))
-(luna-define-method elmo-folder-unflag-important :before ((folder
- elmo-net-folder)
- numbers
- &optional
- is-local)
- (when (and (elmo-folder-use-flag-p folder)
- (not is-local))
- (if (elmo-folder-plugged-p folder)
- (elmo-folder-send folder 'elmo-folder-unflag-important-plugged
- numbers)
- (elmo-folder-send folder
- 'elmo-folder-unflag-important-unplugged numbers))))
-
-(luna-define-method elmo-folder-flag-as-important :before ((folder
- elmo-net-folder)
- numbers
- &optional
- is-local)
- (when (and (elmo-folder-use-flag-p folder)
- (not is-local))
- (if (elmo-folder-plugged-p folder)
- (elmo-folder-send folder 'elmo-folder-flag-as-important-plugged
- numbers)
- (elmo-folder-send folder 'elmo-folder-flag-as-important-unplugged
- numbers))))
-
-(luna-define-method elmo-folder-unflag-read :before ((folder elmo-net-folder)
- numbers
- &optional is-local)
- (when (and (elmo-folder-use-flag-p folder)
- (not is-local))
- (if (elmo-folder-plugged-p folder)
- (elmo-folder-send folder 'elmo-folder-unflag-read-plugged numbers)
- (elmo-folder-send folder 'elmo-folder-unflag-read-unplugged numbers))))
-
-(luna-define-method elmo-folder-flag-as-read :before ((folder elmo-net-folder)
- numbers
- &optional is-local)
- (when (and (elmo-folder-use-flag-p folder)
- (not is-local))
- (if (elmo-folder-plugged-p folder)
- (elmo-folder-send folder 'elmo-folder-flag-as-read-plugged numbers)
- (elmo-folder-send
- folder 'elmo-folder-flag-as-read-unplugged numbers))))
-
-(luna-define-method elmo-folder-unflag-answered :before ((folder
- elmo-net-folder)
- numbers
- &optional is-local)
- (when (and (elmo-folder-use-flag-p folder)
- (not is-local))
- (if (elmo-folder-plugged-p folder)
- (elmo-folder-send folder 'elmo-folder-unflag-answered-plugged
- numbers)
- (elmo-folder-send folder
- 'elmo-folder-unflag-answered-unplugged numbers))))
-
-(luna-define-method elmo-folder-flag-as-answered :before ((folder
- elmo-net-folder)
- numbers
- &optional is-local)
- (when (and (elmo-folder-use-flag-p folder)
- (not is-local))
- (if (elmo-folder-plugged-p folder)
- (elmo-folder-send folder 'elmo-folder-flag-as-answered-plugged
- numbers)
- (elmo-folder-send folder 'elmo-folder-flag-as-answered-unplugged
- numbers))))
-
-(luna-define-method elmo-folder-flag-as-read-unplugged ((folder
- elmo-net-folder)
- numbers)
- (elmo-folder-flag-as-read-dop folder numbers))
-
-(luna-define-method elmo-folder-unflag-read-unplugged ((folder elmo-net-folder)
- numbers)
- (elmo-folder-unflag-read-dop folder numbers))
-
-(luna-define-method elmo-folder-flag-as-important-unplugged ((folder
- elmo-net-folder)
- numbers)
- (elmo-folder-flag-as-important-dop folder numbers))
-
-(luna-define-method elmo-folder-unflag-important-unplugged ((folder
- elmo-net-folder)
- numbers)
- (elmo-folder-unflag-important-dop folder numbers))
-
-(luna-define-method elmo-folder-flag-as-answered-unplugged ((folder
- elmo-net-folder)
- numbers)
- (elmo-folder-flag-as-answered-dop folder numbers))
-
-(luna-define-method elmo-folder-unflag-answered-unplugged
- ((folder elmo-net-folder) numbers)
- (elmo-folder-unflag-answered-dop folder numbers))
+(luna-define-method elmo-folder-set-flag :before ((folder elmo-net-folder)
+ numbers
+ flag
+ &optional is-local)
+ (when (and (not is-local)
+ (elmo-folder-use-flag-p folder))
+ (elmo-folder-send folder
+ (if (elmo-folder-plugged-p folder)
+ 'elmo-folder-set-flag-plugged
+ 'elmo-folder-set-flag-unplugged)
+ numbers
+ flag)))
+
+(luna-define-method elmo-folder-unset-flag :before ((folder elmo-net-folder)
+ numbers
+ flag
+ &optional is-local)
+ (when (and (not is-local)
+ (elmo-folder-use-flag-p folder))
+ (elmo-folder-send folder
+ (if (elmo-folder-plugged-p folder)
+ 'elmo-folder-unset-flag-plugged
+ 'elmo-folder-unset-flag-unplugged)
+ numbers
+ flag)))
+
+(luna-define-method elmo-folder-set-flag-unplugged ((folder elmo-net-folder)
+ numbers flag)
+ (elmo-folder-set-flag-dop folder numbers flag))
+
+(luna-define-method elmo-folder-unset-flag-unplugged ((folder elmo-net-folder)
+ numbers flag)
+ (elmo-folder-unset-flag-dop folder numbers flag))
(luna-define-method elmo-message-encache :around ((folder elmo-net-folder)
number &optional read)