svncommit
2008-08-29 cca626ef7e4859ee84a02a2f09b3d4e8db9584c5
Show unread counters the way Thunderbird does.


1 files modified
17 ■■■■ changed files
program/js/app.js 17 ●●●● patch | view | raw | blame | history
program/js/app.js
@@ -3492,26 +3492,27 @@
  // update the mailbox count display
  this.set_unread_count_display = function(mbox, set_title)
    {
    var reg, text_obj, item, count, div, children;
    var reg, text_obj, item, mycount, childcount, div, children;
    if (item = this.get_folder_li(mbox))
      {
      count = parseInt(item.getAttribute('count') ? item.getAttribute('count') : 0);
      mycount = parseInt(item.getAttribute('count') ? item.getAttribute('count') : 0);
      text_obj = item.getElementsByTagName('a')[0];
      reg = /\s+\([0-9]+\)$/i;
      div = item.getElementsByTagName('div')[0];
      childcount = 0;
      if (div.className.match(/collapsed/))
        {
        // add children's counters
        children = item.getElementsByTagName('li');
        for (var i=0; i<children.length; i++)
          count = count+parseInt(children[i].getAttribute('count') ? children[i].getAttribute('count') : 0);
          childcount = childcount+parseInt(children[i].getAttribute('count') ? children[i].getAttribute('count') : 0);
        }
      if (count && text_obj.innerHTML.match(reg))
        text_obj.innerHTML = text_obj.innerHTML.replace(reg, ' ('+count+')');
      else if (count)
        text_obj.innerHTML += ' ('+count+')';
      if (mycount && text_obj.innerHTML.match(reg))
        text_obj.innerHTML = text_obj.innerHTML.replace(reg, ' ('+mycount+')');
      else if (mycount)
        text_obj.innerHTML += ' ('+mycount+')';
      else
        text_obj.innerHTML = text_obj.innerHTML.replace(reg, '');
@@ -3521,7 +3522,7 @@
        this.set_unread_count_display(mbox.replace(reg, ''), false);
      // set the right classes
      this.set_classname(item, 'unread', count>0 ? true : false);
      this.set_classname(item, 'unread', (mycount+childcount)>0 ? true : false);
      }
    // set unread count to window title