Changeset 12755
- Timestamp:
- Aug 26, 2011, 6:36:09 PM (11 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/web/javascript/transmission.js
r12752 r12755 74 74 $(document).bind('keydown', function(e) { tr.keyDown(e); }); 75 75 $(document).bind('keyup', function(e) { tr.keyUp(e); }); 76 $('#torrent_container').click(function() { tr.deselectAll( true); });76 $('#torrent_container').click(function() { tr.deselectAll(); }); 77 77 $('#inspector_link').click(function(e) { tr.toggleInspector(); }); 78 78 … … 214 214 // start using prefs on iPhone we need to weed 215 215 // transmenu refs out of that too. 216 217 if (!iPhone) $('#sort_by_' + this[Prefs._SortMethod]).selectMenuItem(); 218 219 if (!iPhone && (this[Prefs._SortDirection] == Prefs._SortDescending)) 220 $('#reverse_sort_order').selectMenuItem(); 221 222 if (!iPhone && this[Prefs._ShowInspector]) 223 this.setInspectorVisible(true); 216 if (!iPhone) 217 { 218 $('#sort_by_' + this[Prefs._SortMethod]).selectMenuItem(); 219 220 if (this[Prefs._SortDirection] === Prefs._SortDescending) 221 $('#reverse_sort_order').selectMenuItem(); 222 223 if (this[Prefs._ShowInspector]) 224 this.setInspectorVisible(true); 225 } 224 226 225 227 this.initCompactMode(); … … 341 343 var torrents = []; 342 344 for (var key in this._torrents) 343 torrents.push(this._torrents[key]); 344 return torrents; 345 }, 346 347 getVisibleTorrents: function() 348 { 349 var torrents = []; 350 for (var i=0, row; row=this._rows[i]; ++i) 351 torrents.push(row.getTorrent()); 345 torrents.push(this._torrents[key]); 352 346 return torrents; 353 347 }, … … 375 369 if (this._prefs && this._prefs['seedRatioLimited']) 376 370 return this._prefs['seedRatioLimit']; 377 else 378 return -1; 371 return -1; 379 372 }, 380 373 … … 392 385 393 386 getSelectedRows: function() { 394 var s = []; 395 for (var i=0, row; row=this._rows[i]; ++i) 396 if (row.isSelected()) 397 s.push(row); 398 return s; 387 return $.grep(this._rows, function(r) {return r.isSelected();}); 399 388 }, 400 389 401 390 getSelectedTorrents: function() { 402 var s = this.getSelectedRows(); 403 for (var i=0, row; row=s[i]; ++i) 404 s[i] = s[i].getTorrent(); 405 return s; 391 return $.map(this.getSelectedRows(),function(r) {return r.getTorrent();}); 406 392 }, 407 393 408 394 getSelectedTorrentIds: function() { 409 var s = []; 410 for (var i=0, row; row=this._rows[i]; ++i) 411 if (row.isSelected()) 412 s.push(row.getTorrentId()); 413 return s; 395 return $.map(this.getSelectedRows(),function(r) {return r.getTorrentId();}); 414 396 }, 415 397 416 398 setSelectedRow: function(row) { 417 var rows = this.getSelectedRows(); 418 for (var i=0, r; r=rows[i]; ++i) 419 this.deselectRow(r); 399 $.each(this.getSelectedRows(),function(i,r) {r.setSelected(false);}); 420 400 this.selectRow(row); 421 401 }, … … 432 412 433 413 selectAll: function() { 434 for (var i=0, row; row=this._rows[i]; ++i) 435 this.selectRow(row); 414 $.each(this._rows, function(i,r) {r.setSelected(true);}); 436 415 this.callSelectionChangedSoon(); 437 416 }, 438 417 deselectAll: function() { 439 for (var i=0, row; row=this._rows[i]; ++i) 440 this.deselectRow(row); 418 $.each(this._rows, function(i,r) {r.setSelected(false);}); 441 419 this.callSelectionChangedSoon(); 442 420 delete this._last_torrent_clicked; … … 522 500 var r = rows[i]; 523 501 524 if (this._shift_index >= 0) 502 var anchor = this._shift_index; 503 if (anchor >= 0) 525 504 { 526 505 // user is extending the selection with the shift + arrow keys... 527 if ( (( this._shift_index<= last) && (last < i))528 || (( this._shift_index>= last) && (last > i)))506 if ( ((anchor <= last) && (last < i)) 507 || ((anchor >= last) && (last > i))) 529 508 { 530 509 this.selectRow(r); 531 510 } 532 else if ((( this._shift_index>= last) && (i > last))533 || (( this._shift_index<= last) && (last > i)))511 else if (((anchor >= last) && (i > last)) 512 || ((anchor <= last) && (last > i))) 534 513 { 535 514 this.deselectRow(rows[last]); … … 718 697 this.removeSelectedTorrents(); 719 698 this.hideiPhoneAddressbar(); 720 }721 },722 723 filesSelectAllClicked: function() {724 var t = this._file_torrent;725 if (t)726 this.toggleFilesWantedDisplay(t, true);727 },728 filesDeselectAllClicked: function() {729 var t = this._file_torrent;730 if (t)731 this.toggleFilesWantedDisplay(t, false);732 },733 toggleFilesWantedDisplay: function(torrent, wanted) {734 var rows = [ ];735 for (var i=0, row; row=this._file_rows[i]; ++i)736 if (row.isEditable() && (torrent.getFile(i).wanted !== wanted))737 rows.push(row);738 if (rows.length > 0) {739 var command = wanted ? 'files-wanted' : 'files-unwanted';740 this.changeFileCommand(command, rows);741 699 } 742 700 }, … … 956 914 updateStats: function(stats) 957 915 { 958 // can't think of a reason to remember this959 //this._stats = stats;960 961 916 var fmt = Transmission.fmt; 962 var session = stats["current-stats"]; 963 var total = stats["cumulative-stats"]; 964 965 setInnerHTML($('#stats_session_uploaded')[0], fmt.size(session["uploadedBytes"])); 966 setInnerHTML($('#stats_session_downloaded')[0], fmt.size(session["downloadedBytes"])); 967 setInnerHTML($('#stats_session_ratio')[0], fmt.ratioString(Math.ratio(session["uploadedBytes"],session["downloadedBytes"]))); 968 setInnerHTML($('#stats_session_duration')[0], fmt.timeInterval(session["secondsActive"])); 969 setInnerHTML($('#stats_total_count')[0], total["sessionCount"] + " times"); 970 setInnerHTML($('#stats_total_uploaded')[0], fmt.size(total["uploadedBytes"])); 971 setInnerHTML($('#stats_total_downloaded')[0], fmt.size(total["downloadedBytes"])); 972 setInnerHTML($('#stats_total_ratio')[0], fmt.ratioString(Math.ratio(total["uploadedBytes"],total["downloadedBytes"]))); 973 setInnerHTML($('#stats_total_duration')[0], fmt.timeInterval(total["secondsActive"])); 917 918 var s = stats["current-stats"]; 919 $('#stats_session_uploaded').html(fmt.size(s.uploadedBytes)); 920 $('#stats_session_downloaded').html(fmt.size(s.downloadedBytes)); 921 $('#stats_session_ratio').html(fmt.ratioString(Math.ratio(s.uploadedBytes,s.downloadedBytes))); 922 $('#stats_session_duration').html(fmt.timeInterval(s.secondsActive)); 923 924 var t = stats["cumulative-stats"]; 925 $('#stats_total_count').html(t.sessionCount + " times"); 926 $('#stats_total_uploaded').html(fmt.size(t.uploadedBytes)); 927 $('#stats_total_downloaded').html(fmt.size(t.downloadedBytes)); 928 $('#stats_total_ratio').html(fmt.ratioString(Math.ratio(t.uploadedBytes,t.downloadedBytes))); 929 $('#stats_total_duration').html(fmt.timeInterval(t.secondsActive)); 974 930 }, 975 931 … … 1477 1433 ***** 1478 1434 ****/ 1435 1436 filesSelectAllClicked: function() { 1437 var t = this._file_torrent; 1438 if (t) 1439 this.toggleFilesWantedDisplay(t, true); 1440 }, 1441 filesDeselectAllClicked: function() { 1442 var t = this._file_torrent; 1443 if (t) 1444 this.toggleFilesWantedDisplay(t, false); 1445 }, 1446 toggleFilesWantedDisplay: function(torrent, wanted) { 1447 var rows = [ ]; 1448 for (var i=0, row; row=this._file_rows[i]; ++i) 1449 if (row.isEditable() && (torrent.getFile(i).wanted !== wanted)) 1450 rows.push(row); 1451 if (rows.length > 0) { 1452 var command = wanted ? 'files-wanted' : 'files-unwanted'; 1453 this.changeFileCommand(command, rows); 1454 } 1455 }, 1479 1456 1480 1457 inspectorTabClicked: function(ev, tab) … … 1532 1509 var na = 'N/A'; 1533 1510 var tab = this._inspector._info_tab; 1511 var fmt = Transmission.fmt; 1534 1512 1535 1513 $("#torrent_inspector_size, .inspector_row div").css('color', '#222'); … … 1584 1562 1585 1563 hash = t.getHashString(); 1586 pieces = [ t.getPieceCount(), 'pieces @', Transmission.fmt.mem(t.getPieceSize()) ].join(' ');1587 date_created = Transmission.fmt.timestamp(t.getDateCreated());1564 pieces = [ t.getPieceCount(), 'pieces @', fmt.mem(t.getPieceSize()) ].join(' '); 1565 date_created = fmt.timestamp(t.getDateCreated()); 1588 1566 } 1589 1567 … … 1615 1593 1616 1594 var private_string = ''; 1617 var fmt = Transmission.fmt;1618 1595 if (have_private && have_public) private_string = 'Mixed'; 1619 1596 else if (have_private) private_string = 'Private Torrent'; … … 1944 1921 text = 'Show <span class="filter-selection">' + state_string + '</span> at <span class="filter-selection">' + tracker_string + '</span>'; 1945 1922 1946 var torrent_count = this.getAllTorrents().length;1947 var visible_count = this. getVisibleTorrents().length;1923 var torrent_count = Object.keys(this._torrents).length; 1924 var visible_count = this._rows.length; 1948 1925 if (torrent_count === visible_count) 1949 1926 text += ' — ' + torrent_count + ' Transfers';
Note: See TracChangeset
for help on using the changeset viewer.