contextOnClick: function(parentfunc, e)
{
- var flag, tmp,
+ var tmp,
elt = e.memo.elt,
id = elt.readAttribute('id'),
menu = e.memo.trigger;
mbox: this.folder
}
this.go('folder:' + DIMP.conf.fsearchid);
- } else if (menu.endsWith('_setflag') || menu.endsWith('_unsetflag')) {
- flag = elt.retrieve('flag');
- this.flag(flag, menu.endsWith('_setflag'));
+ } else if (menu.endsWith('_setflag')) {
+ tmp = elt.down('DIV');
+ this.flag(elt.retrieve('flag'), !tmp.visible() || tmp.hasClassName('msCheck'));
+ } else if (menu.endsWith('_unsetflag')) {
+ this.flag(elt.retrieve('flag'), false);
} else if (menu.endsWith('_flag') || menu.endsWith('_flagnot')) {
this.search = {
flag: elt.retrieve('flag'),
contextOnShow: function(parentfunc, e)
{
- var baseelt, elts, ob, sel, tmp,
+ var baseelt, elts, flags, ob, sel, tmp,
ctx_id = e.memo;
switch (ctx_id) {
tmp.push(o.up());
}
});
+
+ sel = this.viewport.getSelected();
+
if ($('oa_setflag')) {
if (this.viewport.getMetaData('readonly')) {
$('oa_setflag').up().hide();
} else {
tmp.push($('oa_setflag').up());
+ [ $('oa_unsetflag') ].invoke((sel.size() > 1) ? 'show' : 'hide');
}
}
- tmp.compact().invoke(this.viewport.getSelected().size() ? 'show' : 'hide');
+
+ tmp.compact().invoke(sel.size() ? 'show' : 'hide');
break;
case 'ctx_qsearchby':
case 'ctx_message':
[ $('ctx_message_source').up() ].invoke(DIMP.conf.preview_pref ? 'hide' : 'show');
sel = this.viewport.getSelected();
- [ $('ctx_message_resume') ].invoke(sel.size() == 1 && sel.get('dataob').first().draft ? 'show' : 'hide');
+ if (sel.size() == 1) {
+ [ $('ctx_message_resume') ].invoke(sel.get('dataob').first().draft ? 'show' : 'hide');
+ [ $('ctx_message_unsetflag') ].compact().invoke('hide');
+ } else {
+ $('ctx_message_resume').hide();
+ [ $('ctx_message_unsetflag') ].compact().invoke('show');
+ }
+ break;
+
+ case 'ctx_flag':
+ sel = this.viewport.getSelected();
+ flags = (sel.size() == 1)
+ ? sel.get('dataob').first().flag
+ : null;
+
+ $(ctx_id).childElements().each(function(elt) {
+ var a, r;
+ if (flags === null) {
+ elt.down('DIV').hide();
+ } else {
+ if (flags.include(elt.retrieve('flag'))) {
+ a = 'msCheckOn';
+ r = 'msCheck';
+ } else {
+ a = 'msCheck';
+ r = 'msCheckOn';
+ }
+ elt.down('DIV').removeClassName(r).addClassName(a).show();
+ }
+ });
break;
default:
var a = new Element('A'),
style = {};
+ if (id == 'ctx_flag') {
+ a.insert(new Element('DIV', { className: 'iconImg' }));
+ }
+
if (f.u) {
style.backgroundColor = f.b.escapeHTML();
}
<a id="ctx_message_resume" style="display:none"><span class="iconImg"></span><?php echo _("Resume Draft") ?></a>
<a id="ctx_message_reply"><span class="iconImg"></span><?php echo _("Reply") ?></a>
<a id="ctx_message_forward"><span class="iconImg"></span><?php echo _("Forward") ?></a>
- <div id="ctx_message_flagopts" style="display:none">
+ <div style="display:none">
<div class="sep"></div>
<a id="ctx_message_setflag"><span class="iconImg"></span><?php echo _("Mark as") ?>...</a>
<a id="ctx_message_unsetflag"><span class="iconImg"></span><?php echo _("Unmark as") ?>...</a>
<a id="oa_preview_show"><span class="iconImg"></span><?php echo _("Show Preview") ?></a>
<a id="oa_layout_horiz"><span class="iconImg"></span><?php echo _("Horizontal Layout") ?></a>
<a id="oa_layout_vert"><span class="iconImg"></span><?php echo _("Vertical Layout") ?></a>
- <div id="oa_flagopts" style="display:none">
+ <div style="display:none">
<div class="sep"></div>
<a id="oa_setflag"><span class="iconImg"></span><?php echo _("Mark as") ?>...</a>
<a id="oa_unsetflag"><span class="iconImg"></span><?php echo _("Unmark as") ?>...</a>