diff options
Diffstat (limited to 'program/js')
| -rw-r--r-- | program/js/app.js | 28 | 
1 files changed, 13 insertions, 15 deletions
diff --git a/program/js/app.js b/program/js/app.js index 4ed67cbc0..6b475ce35 100644 --- a/program/js/app.js +++ b/program/js/app.js @@ -230,6 +230,7 @@ function rcube_webmail()          // get unread count for each mailbox          if (this.gui_objects.mailboxlist)          { +          this.env.unread_counts = {};            this.gui_objects.folderlist = this.gui_objects.mailboxlist;            this.http_request('getunread', '');          } @@ -3484,22 +3485,18 @@ function rcube_webmail()      if (!this.gui_objects.mailboxlist)        return false; -    var reg, text_obj, item; -    if (item = this.get_folder_li(mbox)) -      { -      item.setAttribute('count', count); -      this.set_unread_count_display(mbox, set_title); -      } +    this.env.unread_counts[mbox] = count; +    this.set_unread_count_display(mbox, set_title);      }    // update the mailbox count display    this.set_unread_count_display = function(mbox, set_title)      { -    var reg, text_obj, item, mycount, childcount, div, children; +    var reg, text_obj, item, mycount, childcount, div;      if (item = this.get_folder_li(mbox))        { -      mycount = parseInt(item.getAttribute('count') ? item.getAttribute('count') : 0); +      mycount = this.env.unread_counts[mbox];        text_obj = item.getElementsByTagName('a')[0];        reg = /\s+\([0-9]+\)$/i; @@ -3508,9 +3505,10 @@ function rcube_webmail()            div.className.match(/collapsed/))          {          // add children's counters -        children = item.getElementsByTagName('li'); -        for (var i=0; i<children.length; i++) -          childcount = childcount+parseInt(children[i].getAttribute('count') ? children[i].getAttribute('count') : 0); +        for (var k in this.env.unread_counts) +          if (k.indexOf(mbox) == 0) { +            childcount += this.env.unread_counts[k]; +          }          }        if (mycount && text_obj.innerHTML.match(reg)) @@ -3536,10 +3534,10 @@ function rcube_webmail()        var doc_title = String(document.title);        var new_title = ""; -      if (count && doc_title.match(reg)) -        new_title = doc_title.replace(reg, '('+count+') '); -      else if (count) -        new_title = '('+count+') '+doc_title; +      if (mycount && doc_title.match(reg)) +        new_title = doc_title.replace(reg, '('+mycount+') '); +      else if (mycount) +        new_title = '('+mycount+') '+doc_title;        else          new_title = doc_title.replace(reg, '');  | 
