contextOnClick: function(parentfunc, elt, baseelt, menu)
{
- var id = elt.readAttribute('id');
+ var flag, id = elt.readAttribute('id');
switch (id) {
case 'ctx_folder_create':
if (menu == 'ctx_message_setflag' ||
menu == 'ctx_draft_setflag' ||
menu == 'oa_setflag') {
- this.flag('imapflag', { imap: elt.readAttribute('flag'), set: true });
+ this.flag('imapflag', { imap: elt.readAttribute('flag'), set: true, userset: true });
} else if (menu == 'ctx_message_unsetflag' ||
menu == 'ctx_draft_unsetflag' ||
menu == 'oa_unsetflag') {
- this.flag('imapflag', { imap: elt.readAttribute('flag'), set: false });
+ this.flag('imapflag', { imap: elt.readAttribute('flag'), set: false, userset: true });
} else {
parentfunc(elt, baseelt, menu);
}
},
/* Flag actions for message list. */
- // opts = 'imap' 'index', 'mailbox', 'noserver' (only for answered/unanswered), 'set'
+ // opts = 'imap' 'index', 'mailbox', 'noserver' (only for
+ // answered/unanswered), 'set', 'userset'
flag: function(action, opts)
{
var actionCall, args, vs,
return;
case '\\seen':
+ if (opts.userset) {
+ opts.set = !opts.set;
+ }
+
vs.get('dataob').each(function(s) {
this.updateSeenUID(s, opts.set);
}, this);