Changeset 11011


Ignore:
Timestamp:
Jul 15, 2010, 3:16:10 PM (12 years ago)
Author:
Longinus00
Message:

(web) #2908:Retrieve info for selected torrents

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/web/javascript/transmission.js

    r10987 r11011  
    523523                this.updateButtonStates();
    524524                this.updateInspector();
     525                this.updateSelectedData();
    525526        },
    526527
     
    831832
    832833        /*
     834         * Turn the periodic ajax torrents refresh on & off for the selected torrents
     835         */
     836        periodicTorrentUpdate: function( ids ) {
     837                var tr = this;
     838                if( ids ) {
     839                        var curIds = this._extra_data_ids;
     840                        if( curIds == null )
     841                                curIds = [ ];
     842                        if( ids.length == curIds.length ) {
     843                                var duplicate = true;
     844                                for(var i = 0; i < ids.length; i++ ) {
     845                                        if( ids[i] != curIds[i] ) {
     846                                                duplicate = false;
     847                                                break;
     848                                        }
     849                                }
     850                                if( duplicate ) return;
     851                        }
     852                        tr.refreshTorrents(ids);
     853                        clearInterval(this._metadata_refresh);
     854                        // sanity check
     855                        if( !this[Prefs._RefreshRate] ) this[Prefs._RefreshRate] = 5;
     856                        this._metadata_refresh = setInterval(function(){ tr.refreshTorrents(ids); }, this[Prefs._RefreshRate] * 1000 );
     857                        this._extra_data_ids = ids;
     858                } else {
     859                        clearInterval(this._metadata_refresh);
     860                        this._metadata_refresh = null;
     861                        this._extra_data_ids = null;
     862                }
     863        },
     864
     865        /*
    833866         * Turn the periodic ajax session refresh on & off
    834867         */
     
    875908                args[RPC._TurtleState] = this[Prefs._TurtleState];
    876909                this.remote.savePrefs( args );
     910        },
     911
     912        updateSelectedData: function()
     913        {
     914                var ids = jQuery.map(this.getSelectedTorrents( ), function(t) { return t.id(); } );
     915                if( ids.length > 0 )
     916                        this.periodicTorrentUpdate( ids );
     917                else
     918                        this.periodicTorrentUpdate( false );
    877919        },
    878920
Note: See TracChangeset for help on using the changeset viewer.