alecpl
2011-11-24 636bd77074638a1132b8933c4fb114373aaec296
- Mark (with different color) folders with recent messages (#1486234)


5 files modified
31 ■■■■ changed files
CHANGELOG 1 ●●●● patch | view | raw | blame | history
program/js/app.js 18 ●●●●● patch | view | raw | blame | history
program/steps/mail/check_recent.inc 3 ●●●● patch | view | raw | blame | history
program/steps/mail/func.inc 4 ●●●● patch | view | raw | blame | history
skins/default/mail.css 5 ●●●●● patch | view | raw | blame | history
CHANGELOG
@@ -1,6 +1,7 @@
CHANGELOG Roundcube Webmail
===========================
- Mark (with different color) folders with recent messages (#1486234)
- Fix possible infinite redirect on attachment preview (#1488199)
- Improved clickjacking protection for browsers which don't support X-Frame-Options headers
- Fixed bug where similiar folder names were highlighted wrong (#1487860)
program/js/app.js
@@ -2021,6 +2021,7 @@
      url += '&_refresh=1';
    this.select_folder(mbox, '', true);
    this.unmark_folder(mbox, 'recent', '', true);
    this.env.mailbox = mbox;
    // load message list remotely
@@ -5448,6 +5449,18 @@
    }
  };
  // adds a class to selected folder
  this.mark_folder = function(name, class_name, prefix, encode)
  {
    $(this.get_folder_li(name, prefix, encode)).addClass(class_name);
  };
  // adds a class to selected folder
  this.unmark_folder = function(name, class_name, prefix, encode)
  {
    $(this.get_folder_li(name, prefix, encode)).removeClass(class_name);
  };
  // helper method to find a folder list item
  this.get_folder_li = function(name, prefix, encode)
  {
@@ -5555,13 +5568,16 @@
  };
  // update the mailboxlist
  this.set_unread_count = function(mbox, count, set_title)
  this.set_unread_count = function(mbox, count, set_title, mark)
  {
    if (!this.gui_objects.mailboxlist)
      return false;
    this.env.unread_counts[mbox] = count;
    this.set_unread_count_display(mbox, set_title);
    if (mark)
      this.mark_folder(mbox, mark, '', true);
  };
  // update the mailbox count display
program/steps/mail/check_recent.inc
@@ -49,7 +49,8 @@
            array('mailbox' => $mbox_name, 'is_current' => $is_current));
    }
    rcmail_send_unread_count($mbox_name, true);
    rcmail_send_unread_count($mbox_name, true, null,
      (!$is_current && ($status & 1)) ? 'recent' : '');
    if ($status && $is_current) {
        // refresh saved search set
program/steps/mail/func.inc
@@ -472,7 +472,7 @@
}
function rcmail_send_unread_count($mbox_name, $force=false, $count=null)
function rcmail_send_unread_count($mbox_name, $force=false, $count=null, $mark='')
{
  global $RCMAIL;
@@ -484,7 +484,7 @@
    $unseen = $count;
  if ($unseen != $old_unseen || ($mbox_name == 'INBOX'))
    $RCMAIL->output->command('set_unread_count', $mbox_name, $unseen, ($mbox_name == 'INBOX'));
    $RCMAIL->output->command('set_unread_count', $mbox_name, $unseen, ($mbox_name == 'INBOX'), $mark);
  rcmail_set_unseen_count($mbox_name, $unseen);
skins/default/mail.css
@@ -448,6 +448,11 @@
  color: #666;
}
#mailboxlist li.recent > a
{
  color: #0066FF;
}
#mailboxlist li.selected,
#mailboxlist li.droptarget li.selected
{