Module: deluge Branch: 1.3-stable Commit: 82fbbad385fe42ea14c4dcae59cb55f1b53ce9cb
Author: Damien Churchill <[email protected]> Date: Sun Dec 12 00:02:41 2010 +0000 fix bug #1355 --- deluge/ui/web/js/deluge-all/Deluge.js | 2 +- deluge/ui/web/js/deluge-all/TorrentGrid.js | 9 ++++++++- deluge/ui/web/js/deluge-all/UI.js | 9 ++++++++- 3 files changed, 17 insertions(+), 3 deletions(-) diff --git a/deluge/ui/web/js/deluge-all/Deluge.js b/deluge/ui/web/js/deluge-all/Deluge.js index de82dd7..382b611 100644 --- a/deluge/ui/web/js/deluge-all/Deluge.js +++ b/deluge/ui/web/js/deluge-all/Deluge.js @@ -46,7 +46,7 @@ Ext.apply(Ext, { return true; }, - isObjectsEqual: function(obj1, obj2) { + areObjectsEqual: function(obj1, obj2) { var equal = true; if (!obj1 || !obj2) return false; for (var i in obj1) { diff --git a/deluge/ui/web/js/deluge-all/TorrentGrid.js b/deluge/ui/web/js/deluge-all/TorrentGrid.js index 04a0204..0455113 100644 --- a/deluge/ui/web/js/deluge-all/TorrentGrid.js +++ b/deluge/ui/web/js/deluge-all/TorrentGrid.js @@ -284,8 +284,15 @@ return ids; }, - update: function(torrents) { + update: function(torrents, wipe) { var store = this.getStore(); + + // Need to perform a complete reload of the torrent grid. + if (wipe) { + store.removeAll(); + this.torrents = {}; + } + var newTorrents = []; // Update and add any new torrents. diff --git a/deluge/ui/web/js/deluge-all/UI.js b/deluge/ui/web/js/deluge-all/UI.js index 84e8c56..d0df84e 100644 --- a/deluge/ui/web/js/deluge-all/UI.js +++ b/deluge/ui/web/js/deluge-all/UI.js @@ -113,6 +113,9 @@ deluge.ui = { update: function() { var filters = deluge.sidebar.getFilterStates(); + this.oldFilters = this.filters; + this.filters = filters; + deluge.client.web.update_ui(Deluge.Keys.Grid, filters, { success: this.onUpdate, failure: this.onUpdateError, @@ -169,7 +172,11 @@ deluge.ui = { ' (Down: ' + fspeed(data['stats'].download_rate, true) + ' Up: ' + fspeed(data['stats'].upload_rate, true) + ')'; } - deluge.torrents.update(data['torrents']); + if (Ext.areObjectsEqual(this.filters, this.oldFilters)) { + deluge.torrents.update(data['torrents']); + } else { + deluge.torrents.update(data['torrents'], true); + } deluge.statusbar.update(data['stats']); deluge.sidebar.update(data['filters']); this.errorCount = 0; -- You received this message because you are subscribed to the Google Groups "deluge-commit" group. To post to this group, send email to [email protected]. To unsubscribe from this group, send email to [email protected]. For more options, visit this group at http://groups.google.com/group/deluge-commit?hl=en.
