diff --git a/Changelog b/Changelog index bebf11258..45f28453b 100644 --- a/Changelog +++ b/Changelog @@ -4,6 +4,7 @@ - FEATURE: RSS can now be disabled from program preferences - FEATURE: Added collapse/expand all buttons in addition dialog - FEATURE: Can have different proxies for Bittorrent and search engine + - FEATURE: Allow multiple item selection in Web UI transfer list - BUGFIX: Disable ETA calculation when ETA column is hidden - BUGFIX: Removed "disconnected" connection state, detection was far from perfect - COSMETIC: Transfer speed, ratio, connection status and DHT nodes are displayed in status bar diff --git a/src/webui/scripts/dynamicTable.js b/src/webui/scripts/dynamicTable.js index 882fe849c..5a6dac7b4 100644 --- a/src/webui/scripts/dynamicTable.js +++ b/src/webui/scripts/dynamicTable.js @@ -41,7 +41,7 @@ var dynamicTable = new Class ({ }, options); this.table = $(table); this.rows = new Object(); - this.cur = false; + this.cur = new Array(); }, altRow: function() @@ -79,15 +79,41 @@ var dynamicTable = new Class ({ }.bind(this)); } tr.addEvent('click', function(e){ - var temptr = this.rows[this.cur]; - if(temptr){ - temptr.removeClass(this.options.selectCls); + if(e.control) { + found = false; + if(this.cur.contains(id)) { + // remove it + this.cur.erase(id); + // Remove selected style + temptr = this.rows[id]; + if(temptr){ + temptr.removeClass(this.options.selectCls); + } + } else { + this.cur[this.cur.length] = id; + // Add selected style + temptr = this.rows[id]; + if(temptr){ + temptr.addClass(this.options.selectCls); + } + } + } else { + //TODO: handle alt key + // Control key is not pressed + // Remove selected style from previous ones + for(i=0; i