diff options
author | thomascube <thomas@roundcube.net> | 2007-10-20 17:49:01 +0000 |
---|---|---|
committer | thomascube <thomas@roundcube.net> | 2007-10-20 17:49:01 +0000 |
commit | a9dda59a655f4f121459f7a060a3f69c7e5206bd (patch) | |
tree | 3cee7ce8ed8a3b09d1888d6daeac485369d9f4d4 /program/js | |
parent | 3e71ab7a6c84583f23c33c733f606fa1b5d68d4d (diff) |
Fix toggleselect of list widget
Diffstat (limited to 'program/js')
-rw-r--r-- | program/js/list.js | 15 |
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); }, |