From: Michael M Slusarz Date: Wed, 8 Apr 2009 22:28:02 +0000 (-0600) Subject: Fix some issues with user flags in dimp X-Git-Url: https://git.internetallee.de/?a=commitdiff_plain;h=43414a393ed0b6d06c2111cd65217555887eb6c9;p=horde.git Fix some issues with user flags in dimp --- 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()) {