From a222f5c045c2a6c14b3c961b83a2d8ee9d3c9331 Mon Sep 17 00:00:00 2001 From: Aleksander Machniak Date: Tue, 29 Oct 2013 20:02:05 +0100 Subject: Fix an issue where pressing minus key on contacts list was hiding list records (#1489393) --- CHANGELOG | 1 + program/js/list.js | 20 ++++++++++++++++---- 2 files changed, 17 insertions(+), 4 deletions(-) diff --git a/CHANGELOG b/CHANGELOG index 874308539..5b0e7086e 100644 --- a/CHANGELOG +++ b/CHANGELOG @@ -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); -- cgit v1.2.3