summaryrefslogtreecommitdiff
path: root/roundcubemail/program/js
diff options
context:
space:
mode:
authorthomasb <thomasb@208e9e7b-5314-0410-a742-e7e81cd9613c>2007-05-28 19:08:36 +0000
committerthomasb <thomasb@208e9e7b-5314-0410-a742-e7e81cd9613c>2007-05-28 19:08:36 +0000
commitac05be61cc13a1e428145fe1176cf746ac28295d (patch)
tree9c3fded4c6d662fc660ea3cfb2027277f6a3486f /roundcubemail/program/js
parent5326b1111b1433ec71c4a449ae099dd72a1a3776 (diff)
Prevent default events on subject link; fixed typo in smtp script
git-svn-id: https://svn.roundcube.net/trunk@586 208e9e7b-5314-0410-a742-e7e81cd9613c
Diffstat (limited to 'roundcubemail/program/js')
-rw-r--r--roundcubemail/program/js/list.js16
1 files changed, 11 insertions, 5 deletions
diff --git a/roundcubemail/program/js/list.js b/roundcubemail/program/js/list.js
index 23a9c349c..c4f02402b 100644
--- a/roundcubemail/program/js/list.js
+++ b/roundcubemail/program/js/list.js
@@ -41,6 +41,7 @@ function rcube_list_widget(list, p)
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 @@ drag_row: function(e, id)
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 @@ select_row: function(id, mod_key, with_mouse)
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 @@ select_row: function(id, mod_key, with_mouse)
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 @@ select_row: function(id, mod_key, with_mouse)
break;
default:
- this.highlight_row(id, false);
+ this.highlight_row(id, false);
break;
}
}
@@ -337,6 +340,9 @@ select_row: function(id, mod_key, with_mouse)
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);