summaryrefslogtreecommitdiff
path: root/program/js/list.js
diff options
context:
space:
mode:
authorthomascube <thomas@roundcube.net>2007-10-20 17:49:01 +0000
committerthomascube <thomas@roundcube.net>2007-10-20 17:49:01 +0000
commita9dda59a655f4f121459f7a060a3f69c7e5206bd (patch)
tree3cee7ce8ed8a3b09d1888d6daeac485369d9f4d4 /program/js/list.js
parent3e71ab7a6c84583f23c33c733f606fa1b5d68d4d (diff)
Fix toggleselect of list widget
Diffstat (limited to 'program/js/list.js')
-rw-r--r--program/js/list.js15
1 files changed, 10 insertions, 5 deletions
diff --git a/program/js/list.js b/program/js/list.js
index be7b02ddc..de4d7c84a 100644
--- a/program/js/list.js
+++ b/program/js/list.js
@@ -344,15 +344,20 @@ 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);
-
+
+ // unselect if toggleselect is active and the same row was clicked again
+ if (this.toggleselect && this.last_selected == id)
+ {
+ this.clear_selection();
+ id = null;
+ }
+ else
+ this.set_classname(this.rows[id].obj, 'focused', true);
+
if (!this.selection.length)
this.shift_start = null;
- if (this.toggleselect && this.last_selected==id)
- this.highlight_row(id, true);
-
this.last_selected = id;
- this.set_classname(this.rows[id].obj, 'focused', true);
},