mirror of
https://github.com/transmission/transmission
synced 2025-02-21 13:46:52 +00:00
(trunk web) decouple the inspector's dataChanged listener from the torrent list's dataChanged listener.
This commit is contained in:
parent
e0ef0effc1
commit
4984bf0274
1 changed files with 26 additions and 19 deletions
|
@ -444,14 +444,12 @@ Transmission.prototype =
|
||||||
|
|
||||||
selectionChanged: function()
|
selectionChanged: function()
|
||||||
{
|
{
|
||||||
if (this.inspectorIsVisible())
|
|
||||||
this.refreshInspectorTorrents();
|
|
||||||
|
|
||||||
this.updateButtonStates();
|
this.updateButtonStates();
|
||||||
this.updateInspector();
|
this.inspectorSelectionChanged();
|
||||||
|
|
||||||
clearTimeout(this.selectionChangedTimer);
|
clearTimeout(this.selectionChangedTimer);
|
||||||
delete this.selectionChangedTimer;
|
delete this.selectionChangedTimer;
|
||||||
|
|
||||||
},
|
},
|
||||||
|
|
||||||
callSelectionChangedSoon: function()
|
callSelectionChangedSoon: function()
|
||||||
|
@ -1014,10 +1012,6 @@ Transmission.prototype =
|
||||||
// enqueue ui refreshes
|
// enqueue ui refreshes
|
||||||
this.refilterSoon();
|
this.refilterSoon();
|
||||||
this.updateButtonsSoon();
|
this.updateButtonsSoon();
|
||||||
|
|
||||||
// if this torrent is in the inspector, refresh the inspector
|
|
||||||
if (this.getSelectedTorrentIds().indexOf(id) !== -1)
|
|
||||||
this.updateInspector();
|
|
||||||
},
|
},
|
||||||
|
|
||||||
updateFromTorrentGet: function(updates, removed_ids)
|
updateFromTorrentGet: function(updates, removed_ids)
|
||||||
|
@ -1830,21 +1824,34 @@ Transmission.prototype =
|
||||||
return {'label':lastScrapeLabel, 'value':lastScrape};
|
return {'label':lastScrapeLabel, 'value':lastScrape};
|
||||||
},
|
},
|
||||||
|
|
||||||
|
inspectorSelectionChanged: function()
|
||||||
|
{
|
||||||
|
var i;
|
||||||
|
|
||||||
|
// if the inspector's hidden, don't create new ones
|
||||||
|
if (this.inspectorIsVisible())
|
||||||
|
{
|
||||||
|
// update the inspector when a selected torrent's data changes.
|
||||||
|
$(this.getAllTorrents()).unbind('dataChanged.inspector');
|
||||||
|
$(this.getSelectedTorrents()).bind('dataChanged.inspector', $.proxy(this.updateInspector,this));
|
||||||
|
|
||||||
|
// periodically ask for updates to the inspector's torrents
|
||||||
|
i = this._inspector;
|
||||||
|
clearInterval(i.refreshInterval);
|
||||||
|
i.refreshInterval = setInterval($.proxy(this.refreshInspectorTorrents,this), 2000);
|
||||||
|
this.refreshInspectorTorrents();
|
||||||
|
|
||||||
|
// refresh the inspector's UI
|
||||||
|
this.updateInspector();
|
||||||
|
}
|
||||||
|
},
|
||||||
|
|
||||||
toggleInspector: function()
|
toggleInspector: function()
|
||||||
{
|
{
|
||||||
this.setInspectorVisible(!this.inspectorIsVisible());
|
this.setInspectorVisible(!this.inspectorIsVisible());
|
||||||
},
|
},
|
||||||
setInspectorVisible: function(visible)
|
setInspectorVisible: function(visible)
|
||||||
{
|
{
|
||||||
// we collect extra stats on torrents when they're in the inspector...
|
|
||||||
clearInterval(this._periodic_inspector_refresh);
|
|
||||||
delete this._periodic_inspector_refresh;
|
|
||||||
if (visible) {
|
|
||||||
var tr = this;
|
|
||||||
this._periodic_inspector_refresh = setInterval(function() {tr.refreshInspectorTorrents();},2000);
|
|
||||||
this.refreshInspectorTorrents();
|
|
||||||
}
|
|
||||||
|
|
||||||
// update the ui widgetry
|
// update the ui widgetry
|
||||||
$('#torrent_inspector').toggle(visible);
|
$('#torrent_inspector').toggle(visible);
|
||||||
if (isMobileDevice) {
|
if (isMobileDevice) {
|
||||||
|
@ -1855,9 +1862,9 @@ Transmission.prototype =
|
||||||
var w = visible ? $('#torrent_inspector').width() + 1 + 'px' : '0px';
|
var w = visible ? $('#torrent_inspector').width() + 1 + 'px' : '0px';
|
||||||
$('#torrent_container')[0].style.right = w;
|
$('#torrent_container')[0].style.right = w;
|
||||||
}
|
}
|
||||||
|
|
||||||
setInnerHTML($('ul li#context_toggle_inspector')[0], (visible?'Hide':'Show')+' Inspector');
|
setInnerHTML($('ul li#context_toggle_inspector')[0], (visible?'Hide':'Show')+' Inspector');
|
||||||
this.updateInspector();
|
|
||||||
|
this.inspectorSelectionChanged();
|
||||||
},
|
},
|
||||||
|
|
||||||
/****
|
/****
|
||||||
|
|
Loading…
Reference in a new issue