diff options
-rw-r--r-- | CHANGELOG | 1 | ||||
-rw-r--r-- | program/js/list.js | 20 |
2 files changed, 17 insertions, 4 deletions
@@ -1,6 +1,7 @@ CHANGELOG Roundcube Webmail =========================== +- Fix an issue where pressing minus key on contacts list was hiding list records (#1489393) - Fix an issue where shift + arrow-up key wasn't selecting all messages in collapsed thread (#1489397) - Added icon for priority column in messages list header (#1489234) - New feature "Canned Responses" to save and recall boilerplate text snippets diff --git a/program/js/list.js b/program/js/list.js index 8843cd94a..8ad0a336b 100644 --- a/program/js/list.js +++ b/program/js/list.js @@ -1204,21 +1204,33 @@ use_arrow_key: function(keyCode, mod_key) use_plusminus_key: function(keyCode, mod_key) { var selected_row = this.rows[this.last_selected]; - if (!selected_row) + + if (!selected_row || !selected_row.has_children) return; if (keyCode == 32) keyCode = selected_row.expanded ? 109 : 61; - if (keyCode == 61 || keyCode == 107) + + // expand + if (keyCode == 61 || keyCode == 107) { + if (selected_row.expanded) + return; + if (mod_key == CONTROL_KEY || this.multiexpand) this.expand_all(selected_row); else - this.expand(selected_row); - else + this.expand(selected_row); + } + // collapse + else { + if (!selected_row.expanded) + return; + if (mod_key == CONTROL_KEY || this.multiexpand) this.collapse_all(selected_row); else this.collapse(selected_row); + } this.update_expando(selected_row.uid, selected_row.expanded); |