(trunk web) in tr.refilter(), instead of calling the expensive tr.getSelectedRows(), use a cheaper jQuery equivalent.
This commit is contained in:
parent
c44ce249d2
commit
0c221893d3
|
@ -345,18 +345,16 @@ TorrentRendererCompact.prototype =
|
|||
*****
|
||||
****/
|
||||
|
||||
function TorrentRow(view, controller, torrent, selected)
|
||||
function TorrentRow(view, controller, torrent)
|
||||
{
|
||||
this.initialize(view, controller, torrent, selected);
|
||||
this.initialize(view, controller, torrent);
|
||||
}
|
||||
TorrentRow.prototype =
|
||||
{
|
||||
initialize: function(view, controller, torrent, selected) {
|
||||
initialize: function(view, controller, torrent) {
|
||||
this._view = view;
|
||||
this._element = view.createRow();
|
||||
this.setTorrent(controller, torrent);
|
||||
if (selected)
|
||||
this.setSelected(selected);
|
||||
this.render(controller);
|
||||
|
||||
},
|
||||
|
|
|
@ -1949,24 +1949,20 @@ Transmission.prototype =
|
|||
|
||||
refilter: function(rebuildEverything)
|
||||
{
|
||||
var i, e, id, t, row, tmp, sel, rows, clean_rows, dirty_rows,
|
||||
var i, e, id, t, row, tmp, rows, clean_rows, dirty_rows,
|
||||
sort_mode = this[Prefs._SortMethod],
|
||||
sort_direction = this[Prefs._SortDirection],
|
||||
filter_mode = this[Prefs._FilterMode],
|
||||
filter_text = this.filterText,
|
||||
filter_tracker = this.filterTracker,
|
||||
renderer = this.torrentRenderer,
|
||||
list = this._torrent_list;
|
||||
list = this._torrent_list,
|
||||
old_sel_count = $(list).children('.selected').length;
|
||||
|
||||
|
||||
clearTimeout(this.refilterTimer);
|
||||
delete this.refilterTimer;
|
||||
|
||||
// build a temporary lookup table of selected torrent ids
|
||||
sel = { };
|
||||
for (i=0; row=this._rows[i]; ++i)
|
||||
if (row.isSelected())
|
||||
sel[row.getTorrentId()] = row;
|
||||
|
||||
if (rebuildEverything) {
|
||||
$(list).empty();
|
||||
this._rows = [];
|
||||
|
@ -2007,8 +2003,7 @@ Transmission.prototype =
|
|||
for (id in this.dirtyTorrents) {
|
||||
t = this._torrents[id];
|
||||
if (t && t.test(filter_mode, filter_text, filter_tracker)) {
|
||||
var s = t.getId() in sel;
|
||||
row = new TorrentRow(renderer, this, t, s);
|
||||
row = new TorrentRow(renderer, this, t);
|
||||
row.getElement().row = row;
|
||||
dirty_rows.push(row);
|
||||
}
|
||||
|
@ -2063,7 +2058,7 @@ Transmission.prototype =
|
|||
// sync gui
|
||||
this.updateStatusbar();
|
||||
this.refreshFilterButton();
|
||||
if (Object.keys(sel).length !== this.getSelectedRows().length)
|
||||
if (old_sel_count !== $(list).children('.selected').length)
|
||||
this.selectionChanged();
|
||||
},
|
||||
|
||||
|
|
Loading…
Reference in New Issue