From a222f5c045c2a6c14b3c961b83a2d8ee9d3c9331 Mon Sep 17 00:00:00 2001
From: Aleksander Machniak <machniak@kolabsys.com>
Date: Tue, 29 Oct 2013 15:02:05 -0400
Subject: [PATCH] Fix an issue where pressing minus key on contacts list was hiding list records (#1489393)
---
program/js/list.js | 20 ++++++++++++++++----
CHANGELOG | 1 +
2 files changed, 17 insertions(+), 4 deletions(-)
diff --git a/CHANGELOG b/CHANGELOG
index 8743085..5b0e708 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 8843cd9..8ad0a33 100644
--- a/program/js/list.js
+++ b/program/js/list.js
@@ -1204,21 +1204,33 @@
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);
--
Gitblit v1.9.1