Changeset 9665


Ignore:
Timestamp:
Dec 4, 2009, 4:31:29 AM (13 years ago)
Author:
kjg
Message:

(trunk web) show relevant status and progress bar for when a magnetized torrent is still waiting for metadata

Location:
trunk/web
Files:
3 edited

Legend:

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

    r9537 r9665  
    3131                'hashString', 'id', 'isPrivate', 'name', 'totalSize', 'pieceCount', 'pieceSize' ]
    3232Torrent._DynamicFields = [ 'downloadedEver', 'error', 'errorString', 'eta',
    33     'haveUnchecked', 'haveValid', 'leftUntilDone', 'peersConnected',
     33    'haveUnchecked', 'haveValid', 'leftUntilDone', 'metadataPercentComplete', 'peersConnected',
    3434    'peersGettingFromUs', 'peersSendingToUs', 'rateDownload', 'rateUpload',
    3535    'recheckProgress', 'sizeWhenDone', 'status',
     
    186186        peersSendingToUs: function() { return this._peers_sending_to_us; },
    187187        peersGettingFromUs: function() { return this._peers_getting_from_us; },
     188        needsMetaData: function(){ return this._metadataPercentComplete < 1 },
    188189        getPercentDone: function() {
    189190                if( !this._sizeWhenDone ) return 1.0;
     
    312313         */
    313314        refreshData: function(data) {
    314                 this._completed             = data.haveUnchecked + data.haveValid;
    315                 this._verified              = data.haveValid;
    316                 this._leftUntilDone         = data.leftUntilDone;
    317                 this._download_total        = data.downloadedEver;
    318                 this._upload_total          = data.uploadedEver;
    319                 this._upload_ratio          = data.uploadRatio;
    320                 this._seed_ratio_limit      = data.seedRatioLimit;
    321                 this._seed_ratio_mode       = data.seedRatioMode;
    322                 this._download_speed        = data.rateDownload;
    323                 this._upload_speed          = data.rateUpload;
    324                 this._peers_connected       = data.peersConnected;
    325                 this._peers_getting_from_us = data.peersGettingFromUs;
    326                 this._peers_sending_to_us   = data.peersSendingToUs;
    327                 this._sizeWhenDone          = data.sizeWhenDone;
    328                 this._recheckProgress       = data.recheckProgress;
    329                 this._error                 = data.error;
    330                 this._error_string          = data.errorString;
    331                 this._eta                   = data.eta;
    332                 this._state                 = data.status;
    333                 this._download_dir          = data.downloadDir;
     315                this._completed               = data.haveUnchecked + data.haveValid;
     316                this._verified                = data.haveValid;
     317                this._leftUntilDone           = data.leftUntilDone;
     318                this._download_total          = data.downloadedEver;
     319                this._upload_total            = data.uploadedEver;
     320                this._upload_ratio            = data.uploadRatio;
     321                this._seed_ratio_limit        = data.seedRatioLimit;
     322                this._seed_ratio_mode         = data.seedRatioMode;
     323                this._download_speed          = data.rateDownload;
     324                this._upload_speed            = data.rateUpload;
     325                this._peers_connected         = data.peersConnected;
     326                this._peers_getting_from_us   = data.peersGettingFromUs;
     327                this._peers_sending_to_us     = data.peersSendingToUs;
     328                this._sizeWhenDone            = data.sizeWhenDone;
     329                this._recheckProgress         = data.recheckProgress;
     330                this._error                   = data.error;
     331                this._error_string            = data.errorString;
     332                this._eta                     = data.eta;
     333                this._state                   = data.status;
     334                this._download_dir            = data.downloadDir;
     335                this._metadataPercentComplete = data.metadataPercentComplete;
    334336
    335337                if (data.fileStats)
     
    425427                if( this._state === Torrent._StatusSeeding )
    426428                        notDone = false ;
    427                
    428                 if( notDone )
     429
     430                if( this.needsMetaData() ){
     431                        var metaPercentComplete = this._metadataPercentComplete * 1000 / 100
     432                        progress_details = "Magnetized transfer - retrieving metadata (";
     433                        progress_details += metaPercentComplete;
     434                        progress_details += "%)";
     435
     436                        var empty = "";
     437                        if(metaPercentComplete == 0)
     438                                empty = "empty";
     439
     440                        root._progress_complete_container.style.width = metaPercentComplete + "%";
     441                        root._progress_complete_container.className = 'torrent_progress_bar in_progress meta ' + empty;
     442                        root._progress_incomplete_container.style.width = 100 - metaPercentComplete + "%"
     443                        root._progress_incomplete_container.className = 'torrent_progress_bar incomplete meta';
     444                        root._progress_incomplete_container.style.display = 'block';
     445
     446                }
     447                else if( notDone )
    429448                {
    430449                        var eta = '';
     
    463482                        // Update the 'incomplete' bar
    464483                        e = root._progress_incomplete_container;
    465                         if( e.className.indexOf( 'incomplete' ) === -1 )
    466                                 e.className = 'torrent_progress_bar in_progress';
    467                         // Clear the 'seeding' tag
    468                         if( e.className.indexOf( 'seeding' ) != -1 )
    469                                 e.className = 'torrent_progress_bar incomplete';
     484                        e.className = 'torrent_progress_bar incomplete'
    470485                        e.style.width =  (MaxBarWidth - css_completed_width) + '%';
    471486                        e.style.display = 'block';
  • trunk/web/stylesheets/common.css

    r9509 r9665  
    465465ul.torrent_list li.torrent div.torrent_progress_bar.empty {
    466466        border-color: #c8cacd;
     467}
     468
     469ul.torrent_list li.torrent div.torrent_progress_bar.incomplete.meta {
     470        background-position: left -50px;
     471        border: 1px solid #cc6068;
     472}
     473
     474ul.torrent_list li.torrent div.torrent_progress_bar.in_progress.meta {
     475        background-position: left -20px;
     476        border-color: #c8cacd;
     477}
     478
     479ul.torrent_list li.torrent div.torrent_progress_bar.in_progress.meta.empty {
     480        border: 0 none;
    467481}
    468482
Note: See TracChangeset for help on using the changeset viewer.