From faa78c427464e73c173b49d7a05b3871b8cd5dd1 Mon Sep 17 00:00:00 2001 From: Michael M Slusarz Date: Mon, 18 May 2009 14:50:12 -0600 Subject: [PATCH] Improved display of mailboxes with UTF7-IMAP encoded data Bug #8286 did not affect git master, but these changes do clean up some lingering issues with title/tooltip displays of mailboxes with UTF7-IMAP encoded data. Also, remove some unneeded DOM ID declarations and some unneeded mailbox name encoding. --- imp/js/src/DimpBase.js | 21 +++++++++------------ imp/lib/DIMP.php | 15 +++++++++++---- 2 files changed, 20 insertions(+), 16 deletions(-) diff --git a/imp/js/src/DimpBase.js b/imp/js/src/DimpBase.js index fd437053a..6f7f02e0a 100644 --- a/imp/js/src/DimpBase.js +++ b/imp/js/src/DimpBase.js @@ -659,7 +659,7 @@ var DimpBase = { break; case 'ctx_folder_delete': - mbox = baseelt.up('LI').readAttribute('mbox'); + mbox = baseelt.up('LI').readAttribute('title'); if (window.confirm(DIMP.text.delete_folder.replace(/%s/, mbox))) { DimpCore.doAction('DeleteFolder', { view: mbox }, null, this.bcache.get('folderC') || this.bcache.set('folderC', this._folderCallback.bind(this))); } @@ -1122,14 +1122,14 @@ var DimpBase = { window.fluid.setDockBadge(unseen ? unseen : ''); } - $(fid + '_label').update((unseen > 0) ? + $(fid).down('A').update((unseen > 0) ? new Element('STRONG').insert(elt.readAttribute('l')).insert(' ').insert(new Element('SPAN', { className: 'count', dir: 'ltr' }).insert('(' + unseen + ')')) : elt.readAttribute('l')); }, getFolderId: function(f) { - return 'fld' + decodeURIComponent(f).replace(/_/g,'__').replace(/\W/g, '_'); + return 'fld' + f.replace(/_/g,'__').replace(/\W/g, '_'); }, getSubFolderId: function(f) @@ -1873,10 +1873,10 @@ var DimpBase = { cname = 'folder', fid = this.getFolderId(ob.m), label = ob.l || ob.m, - mbox = decodeURIComponent(ob.m), + mbox = ob.m, submboxid = this.getSubFolderId(fid), submbox = $(submboxid), - title = mbox; + title = ob.t || ob.m; if (ob.v) { ftype = ob.co ? 'vcontainer' : 'virtual'; @@ -1895,12 +1895,12 @@ var DimpBase = { ftype = ob.s ? 'special' : 'folder'; } - div = new Element('DIV', { className: 'iconDiv', id: fid + '_div' }); + div = new Element('DIV', { className: 'iconDiv' }); if (ob.i) { div.setStyle({ backgroundImage: 'url("' + ob.i + '")' }); } - li = new Element('LI', { className: cname, id: fid, l: label, mbox: mbox }).insert(div).insert(new Element('A', { id: fid + '_label', title: title }).insert(label)); + li = new Element('LI', { className: cname, id: fid, l: label, mbox: mbox, title: title }).insert(div).insert(new Element('A').insert(label)); // Now walk through the parent