From b2fb950fb58971a05d1c4d090132ab67afe6a6bd Mon Sep 17 00:00:00 2001 From: thomascube <thomas@roundcube.net> Date: Mon, 28 May 2007 15:08:36 -0400 Subject: [PATCH] Prevent default events on subject link; fixed typo in smtp script --- program/js/list.js | 16 +++++++++++----- 1 files changed, 11 insertions(+), 5 deletions(-) diff --git a/program/js/list.js b/program/js/list.js index 23a9c34..c4f0240 100644 --- a/program/js/list.js +++ b/program/js/list.js @@ -41,6 +41,7 @@ this.dont_select = false; this.drag_active = false; this.last_selected = 0; + this.shift_start = 0; this.in_selection_before = false; this.focused = false; this.drag_mouse_start = null; @@ -218,7 +219,7 @@ if (this.draggable && this.selection.length) { this.drag_start = true; - this.drag_mouse_start = rcube_event.get_mouse_pos(e); + this.drag_mouse_start = rcube_event.get_mouse_pos(e); rcube_event.add_listener({element:document, event:'mousemove', object:this, method:'drag_mouse_move'}); rcube_event.add_listener({element:document, event:'mouseup', object:this, method:'drag_mouse_up'}); } @@ -301,6 +302,9 @@ var select_before = this.selection.join(','); if (!this.multiselect) mod_key = 0; + + if (!this.shift_start) + this.shift_start = id if (!mod_key) { @@ -312,13 +316,12 @@ switch (mod_key) { case SHIFT_KEY: - this.shift_select(id, false); + this.shift_select(id, false); break; case CONTROL_KEY: - this.shift_start = id; if (!with_mouse) - this.highlight_row(id, true); + this.highlight_row(id, true); break; case CONTROL_SHIFT_KEY: @@ -326,7 +329,7 @@ break; default: - this.highlight_row(id, false); + this.highlight_row(id, false); break; } } @@ -337,6 +340,9 @@ if (this.last_selected != 0 && this.rows[this.last_selected]) this.set_classname(this.rows[this.last_selected].obj, 'focused', false); + + if (!this.selection.length) + this.shift_start = null; this.last_selected = id; this.set_classname(this.rows[id].obj, 'focused', true); -- Gitblit v1.9.1