Changeset 244583


Ignore:
Timestamp:
05/06/2011 10:24:00 PM (14 years ago)
Author:
Damien Churchill <damoxc@gmail.com>
Children:
581349
Parents:
0b8216
Message:

Fix #1333 Peer list doesn't update automatically

File:
1 edited

Legend:

Unmodified
Added
Removed
  • deluge/ui/web/js/deluge-all/details/PeersTab.js

    r0b8216 r244583  
    11/*!
    22 * Deluge.details.PeersTab.js
    3  * 
     3 *
    44 * Copyright (c) Damien Churchill 2009-2010 <damoxc@gmail.com>
    55 *
     
    3333(function() {
    3434        function flagRenderer(value) {
    35                 if (!value) return '';
     35                if (!value.replace(' ', '').replace(' ', '')){
     36            return '';
     37        }
    3638                return String.format('<img src="flag/{0}" />', value);
    3739        }
     
    4648
    4749        Deluge.details.PeersTab = Ext.extend(Ext.grid.GridPanel, {
    48                
     50
    4951                // fast way to figure out if we have a peer already.
    5052                peers: {},
    51                
     53
    5254                constructor: function(config) {
    5355                        config = Ext.apply({
     
    9698                                        renderer: fspeed,
    9799                                        dataIndex: 'up_speed'
    98                                 }],     
     100                                }],
    99101                                stripeRows: true,
    100102                                deferredRender:false,
     
    103105                        Deluge.details.PeersTab.superclass.constructor.call(this, config);
    104106                },
    105                
     107
    106108                clear: function() {
    107109                        this.getStore().removeAll();
    108110                        this.peers = {};
    109111                },
    110                
     112
    111113                update: function(torrentId) {
    112114                        deluge.client.web.get_torrent_status(torrentId, Deluge.Keys.Peers, {
     
    115117                        });
    116118                },
    117                
     119
    118120                onRequestComplete: function(torrent, options) {
    119121                        if (!torrent) return;
     
    126128                        Ext.each(torrent.peers, function(peer) {
    127129                                if (this.peers[peer.ip]) {
     130                    var record = store.getById(peer.ip);
     131                    record.beginEdit();
     132                    for (var k in peer) {
     133                        if (record.get(k) != peer[k]) {
     134                            record.set(k, peer[k]);
     135                        }
     136                    }
     137                    record.endEdit();
    128138                                } else {
    129139                                        this.peers[peer.ip] = 1;
Note: See TracChangeset for help on using the changeset viewer.