From 43414a393ed0b6d06c2111cd65217555887eb6c9 Mon Sep 17 00:00:00 2001 From: Michael M Slusarz Date: Wed, 8 Apr 2009 16:28:02 -0600 Subject: [PATCH] Fix some issues with user flags in dimp --- imp/js/src/ContextSensitive.js | 3 +++ imp/js/src/DimpBase.js | 13 +++---------- 2 files changed, 6 insertions(+), 10 deletions(-) diff --git a/imp/js/src/ContextSensitive.js b/imp/js/src/ContextSensitive.js index bd4e130b4..ec601e629 100644 --- a/imp/js/src/ContextSensitive.js +++ b/imp/js/src/ContextSensitive.js @@ -143,6 +143,9 @@ var ContextSensitive = Class.create({ // Check for click in open contextmenu. if (this.current.size()) { elt = e.element(); + if (!elt.match('A')) { + elt = elt.up('A'); + } elt_up = elt.up(); if (elt_up.hasClassName('contextMenu')) { diff --git a/imp/js/src/DimpBase.js b/imp/js/src/DimpBase.js index b882c5762..646c8209e 100644 --- a/imp/js/src/DimpBase.js +++ b/imp/js/src/DimpBase.js @@ -737,16 +737,9 @@ var DimpBase = { break; default: - if (menu == 'ctx_message_setflag' || - menu == 'ctx_draft_setflag' || - menu == 'oa_setflag') { + if (menu.endsWith('_setflag') || menu.endsWith('_unsetflag')) { flag = elt.readAttribute('flag'); - this.flag(flag, this.convertFlag(flag, true)); - } else if (menu == 'ctx_message_unsetflag' || - menu == 'ctx_draft_unsetflag' || - menu == 'oa_unsetflag') { - flag = elt.readAttribute('flag'); - this.flag(flag, this.convertFlag(flag, false)); + this.flag(flag, this.convertFlag(flag, menu.endsWith('_setflag'))); } else { parentfunc(elt, baseelt, menu); } @@ -2176,7 +2169,7 @@ var DimpBase = { flag: function(flag, set, opts) { opts = opts || {}; - var flags = [ (opts.set ? '' : '-') + flag ]; + var flags = [ (set ? '' : '-') + flag ]; vs = this._getFlagSelection(opts); if (!vs.size()) { -- 2.11.0