]> granicus.if.org Git - transmission/commitdiff
(web) #3281:Filter by active
authorDaniel Lee <Longinus00@gmail.com>
Thu, 17 Jun 2010 04:38:03 +0000 (04:38 +0000)
committerDaniel Lee <Longinus00@gmail.com>
Thu, 17 Jun 2010 04:38:03 +0000 (04:38 +0000)
web/index.html
web/javascript/common.js
web/javascript/torrent.js
web/javascript/transmission.js

index 5e8e07ba1bc882eb91b668cc7b445e6ef2b26d69..4273ec720cfd283fe4e88591ae6dcd65c63fa145 100755 (executable)
@@ -55,6 +55,7 @@
                <div id="torrent_filter_bar">
                        <ul>    
                                 <li><a href="#all" id="filter_all_link" class="active">All</a></li>
+                                <li><a href="#active" id="filter_active_link">Active</a></li>
                                 <li><a href="#downloading" id="filter_downloading_link">Downloading</a></li>
                                 <li><a href="#seeding" id="filter_seeding_link">Seeding</a></li>
                                 <li><a href="#paused" id="filter_paused_link">Paused</a></li>
index eb119bdc11b0ce9f393cfcbfe8c8ddfae132c640..d7b3029c73385eac0c8362da2c65c6774c6b7c38 100644 (file)
@@ -339,6 +339,7 @@ Prefs._ShowInspector      = 'show_inspector';
 
 Prefs._FilterMode         = 'filter';
 Prefs._FilterAll          = 'all';
+Prefs._FilterActive       = 'active';
 Prefs._FilterSeeding      = 'seeding';
 Prefs._FilterDownloading  = 'downloading';
 Prefs._FilterPaused       = 'paused';
index b14d927596e1bc761be393e374320c4eab21dd34..c389a121c07ffe2f0c6ad1c0c2afaeda3d20412a 100644 (file)
@@ -221,6 +221,9 @@ Torrent.prototype =
        downloadTotal: function() { return this._download_total; },
        hash: function() { return this._hashString; },
        id: function() { return this._id; },
+       isActiveFilter: function() { return this.peersGettingFromUs() > 0
+                                       || this.peersSendingToUs() > 0
+                                       || this.state() == Torrent._StatusChecking; },
        isActive: function() { return this.state() != Torrent._StatusPaused; },
        isDownloading: function() { return this.state() == Torrent._StatusDownloading; },
        isSeeding: function() { return this.state() == Torrent._StatusSeeding; },
@@ -667,6 +670,9 @@ Torrent.prototype =
                
                switch( filter )
                {
+                       case Prefs._FilterActive:
+                               pass = this.isActiveFilter();
+                               break;
                        case Prefs._FilterSeeding:
                                pass = this.isSeeding();
                                break;
index d16fefd4c0aca7038787c160b3c8e89e3ec3a80c..2ba3087ac8d78a3fd003070d86a58e6fa5664aac 100644 (file)
@@ -41,6 +41,7 @@ Transmission.prototype =
                $('#resume_selected_link').bind('click', function(e){ tr.startSelectedClicked(e); });
                $('#remove_link').bind('click',  function(e){ tr.removeClicked(e); });
                $('#filter_all_link').parent().bind('click', function(e){ tr.showAllClicked(e); });
+               $('#filter_active_link').parent().bind('click', function(e){ tr.showActiveClicked(e); });
                $('#filter_downloading_link').parent().bind('click', function(e){ tr.showDownloadingClicked(e); });
                $('#filter_seeding_link').parent().bind('click', function(e){ tr.showSeedingClicked(e); });
                $('#filter_paused_link').parent().bind('click', function(e){ tr.showPausedClicked(e); });
@@ -765,6 +766,7 @@ Transmission.prototype =
                var c;
                switch( mode ) {
                        case Prefs._FilterAll:         c = '#filter_all_link'; break;
+                       case Prefs._FilterActive:      c = '#filter_active_link'; break;
                        case Prefs._FilterSeeding:     c = '#filter_seeding_link'; break;
                        case Prefs._FilterDownloading: c = '#filter_downloading_link'; break;
                        case Prefs._FilterPaused:      c = '#filter_paused_link'; break;
@@ -779,6 +781,9 @@ Transmission.prototype =
        showAllClicked: function( event ) {     
                this.setFilter( Prefs._FilterAll );
        },
+       showActiveClicked: function( event ) {
+               this.setFilter( Prefs._FilterActive );
+       },
        showDownloadingClicked: function( event ) {
                this.setFilter( Prefs._FilterDownloading );
        },