diff options
author | Aleksander Machniak <alec@alec.pl> | 2014-01-14 20:53:40 +0100 |
---|---|---|
committer | Aleksander Machniak <alec@alec.pl> | 2014-01-14 20:53:40 +0100 |
commit | 5f3c7e3920c36641466950d4e70a595d59376a88 (patch) | |
tree | f1add76cd878aea1dc330b7f6054d47c6791d7cd /program/js | |
parent | 8080554cf3dda8f799a714c202f61039ed224b86 (diff) |
Make sure unread_children count (and class) on thread root is always updated when read status of a child row is changed
Diffstat (limited to 'program/js')
-rw-r--r-- | program/js/app.js | 9 |
1 files changed, 4 insertions, 5 deletions
diff --git a/program/js/app.js b/program/js/app.js index 3c547566d..e89e85e52 100644 --- a/program/js/app.js +++ b/program/js/app.js @@ -2054,7 +2054,6 @@ function rcube_webmail() if (preview && this.message_list && this.message_list.rows[id] && this.message_list.rows[id].unread && this.env.preview_pane_mark_read >= 0) { this.preview_read_timer = setTimeout(function() { ref.set_message(id, 'unread', false); - ref.update_thread_root(id, 'read'); if (ref.env.unread_counts[ref.env.mailbox]) { ref.env.unread_counts[ref.env.mailbox] -= 1; ref.set_unread_count(ref.env.mailbox, ref.env.unread_counts[ref.env.mailbox], ref.env.mailbox == 'INBOX'); @@ -2560,8 +2559,11 @@ function rcube_webmail() if (!row) return false; - if (flag == 'unread') + if (flag == 'unread') { + if (row.unread != status) + this.update_thread_root(uid, status ? 'unread' : 'read'); row.unread = status; + } else if(flag == 'deleted') row.deleted = status; else if (flag == 'replied') @@ -2849,9 +2851,6 @@ function rcube_webmail() this.set_message(a_uids[i], 'unread', (flag == 'unread' ? true : false)); this.http_post('mark', post_data, lock); - - for (i=0; i<len; i++) - this.update_thread_root(a_uids[i], flag); }; // set image to flagged or unflagged |