From 884e1ecce94a41e705856b0cae6540a171f53461 Mon Sep 17 00:00:00 2001 From: Thomas Bruederli <thomas@roundcube.net> Date: Thu, 07 Nov 2013 05:39:23 -0500 Subject: [PATCH] Merge branch 'master' of github.com:roundcube/roundcubemail --- program/js/list.js | 16 +++++++++++++--- 1 files changed, 13 insertions(+), 3 deletions(-) diff --git a/program/js/list.js b/program/js/list.js index e1d5774..4ae6c0c 100644 --- a/program/js/list.js +++ b/program/js/list.js @@ -795,8 +795,10 @@ break; case CONTROL_KEY: - if (with_mouse) + if (with_mouse) { + this.shift_start = id; this.highlight_row(id, true); + } break; case CONTROL_SHIFT_KEY: @@ -893,7 +895,7 @@ for (i=0; i<len; i++) if (!this.in_selection(children[i])) - this.select_row(children[i], CONTROL_KEY); + this.select_row(children[i], CONTROL_KEY, true); }, @@ -1133,13 +1135,15 @@ // Stop propagation so that the browser doesn't scroll rcube_event.cancel(e); return this.use_arrow_key(keyCode, mod_key); + case 32: rcube_event.cancel(e); return this.select_row(this.last_selected, mod_key, true); + case 37: // Left arrow key case 39: // Right arrow key case 107: // Plus sign on a numeric keypad - case 109: // Minus sign on a numeric keypad + case 109: // Minus sign on a numeric keypad // Stop propagation rcube_event.cancel(e); var ret = this.use_plusminus_key(keyCode, mod_key); @@ -1148,20 +1152,26 @@ this.triggerEvent('keypress'); this.modkey = 0; return ret; + case 36: // Home this.select_first(mod_key); return rcube_event.cancel(e); + case 35: // End this.select_last(mod_key); return rcube_event.cancel(e); + case 27: if (this.drag_active) return this.drag_mouse_up(e); + if (this.col_drag_active) { this.selected_column = null; return this.column_drag_mouse_up(e); } + return rcube_event.cancel(e); + default: this.key_pressed = keyCode; this.modkey = mod_key; -- Gitblit v1.9.1