program/js/app.js | ●●●●● patch | view | raw | blame | history | |
program/js/list.js | ●●●●● patch | view | raw | blame | history | |
program/steps/mail/check_recent.inc | ●●●●● patch | view | raw | blame | history |
program/js/app.js
@@ -3559,6 +3559,14 @@ row.appendChild(col); this.message_list.insert_row(row, attop); // remove 'old' row if (attop && this.env.pagesize && this.message_list.rowcount > this.env.pagesize) { var uid = this.message_list.get_last_row(); this.message_list.remove_row(uid); this.message_list.clear_selection(uid); } }; program/js/list.js
@@ -290,7 +290,7 @@ /** * get next and previous rows that are not hidden * get next/previous/last rows that are not hidden */ get_next_row: function() { @@ -318,8 +318,24 @@ return new_row; }, get_last_row: function() { if (this.rowcount) { var rows = this.list.tBodies[0].rows; // selects or unselects the proper row depending on the modifier key pressed for(var i=rows.length-1; i>=0; i--) if(rows[i].id && String(rows[i].id).match(/rcmrow([a-z0-9\-_=]+)/i) && this.rows[RegExp.$1] != null) return RegExp.$1; } return null; }, /** * selects or unselects the proper row depending on the modifier key pressed */ select_row: function(id, mod_key, with_mouse) { var select_before = this.selection.join(','); @@ -482,11 +498,25 @@ /** * Unselect all selected rows * Unselect selected row(s) */ clear_selection: function() clear_selection: function(id) { var num_select = this.selection.length; // one row if (id) { for (var n=0; n<this.selection.length; n++) if (this.selection[n] == id) { this.selection.splice(n,1); break; } } // all rows else { for (var n=0; n<this.selection.length; n++) if (this.rows[this.selection[n]]) { @@ -495,8 +525,9 @@ } this.selection = new Array(); } if (num_select) if (num_select && !this.selection.length) this.trigger_event('select'); }, program/steps/mail/check_recent.inc
@@ -35,6 +35,8 @@ $unread_count = $IMAP->messagecount(NULL, 'UNSEEN', TRUE); $OUTPUT->set_env('messagecount', $IMAP->messagecount()); $OUTPUT->set_env('pagesize', $IMAP->page_size); $OUTPUT->set_env('pagecount', ceil($IMAP->messagecount()/$IMAP->page_size)); $OUTPUT->command('set_unread_count', $mbox_name, $unread_count, ($mbox_name == 'INBOX')); $OUTPUT->command('set_rowcount', rcmail_get_messagecount_text()); $OUTPUT->command('set_quota', rcmail_quota_content($IMAP->get_quota()));