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)));
}
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)
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';
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 <ul> to find the right place to
// insert the new folder.
deleteFolder: function(folder)
{
- var f = decodeURIComponent(folder), fid;
if (this.folder == f) {
this.go('folder:INBOX');
}
-
- fid = this.getFolderId(folder);
- this.deleteFolderElt(fid, true);
+ this.deleteFolderElt(this.getFolderId(folder), true);
},
changeFolder: function(ob)
{
var fid = this.getFolderId(ob.m),
- fdiv = $(fid + '_div'),
+ fdiv = $(fid).down('DIV'),
oldexpand = fdiv && fdiv.hasClassName('col');
this.deleteFolderElt(fid, !ob.ch);
if (ob.co && this.folder == ob.m) {
* DIMP.conf.base_mbox]
* 'po' (polled) = Is the element polled? [boolean] [DEFAULT: no]
* 's' (special) = Is this a "special" element? [boolean] [DEFAULT: no]
+ * 't' (title) = The title value. [string] [DEFAULT: 'm' val]
* 'u' (unseen) = The number of unseen messages. [integer]
* 'v' (virtual) = Is this a virtual folder? [boolean] [DEFAULT: no]
* </pre>
static private function _createFolderElt($elt)
{
$ob = new stdClass;
+
if ($elt['children']) {
$ob->ch = 1;
}
- $ob->m = rawurlencode($elt['value']);
- if ($ob->m != $elt['base_elt']['l']) {
- $ob->l = $elt['base_elt']['l'];
+ $ob->m = $elt['value'];
+ if ($ob->m != $elt['name']) {
+ $ob->l = $elt['name'];
}
if ($elt['parent'] != IMP_Imap_Tree::BASE_ELT) {
- $ob->pa = rawurlencode($elt['parent']);
+ $ob->pa = $elt['parent'];
}
if ($elt['polled']) {
$ob->po = 1;
$ob->v = 1;
}
+ $tmp = IMP::getLabel($ob->m);
+ if ($tmp != $ob->m) {
+ $ob->t = $tmp;
+ }
+
if ($elt['container']) {
$ob->co = 1;
$ob->cl = 'exp';