Changeset 8487
- Timestamp:
- May 23, 2009, 2:28:04 AM (14 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/web/javascript/transmission.js
r8486 r8487 46 46 // Set up user events 47 47 var tr = this; 48 $('#pause_all_link').bind('click', function( ){ tr.stopAllClicked(); });49 $('#resume_all_link').bind('click', this.startAllClicked);50 $('#pause_selected_link').bind('click', this.stopSelectedClicked);51 $('#resume_selected_link').bind('click', this.startSelectedClicked);52 $('#remove_link').bind('click', this.removeClicked);53 $('#removedata_link').bind('click', this.removeDataClicked);54 $('#filter_all_link').parent().bind('click', this.showAllClicked);55 $('#filter_downloading_link').parent().bind('click', this.showDownloadingClicked);56 $('#filter_seeding_link').parent().bind('click', this.showSeedingClicked);57 $('#filter_paused_link').parent().bind('click', this.showPausedClicked);58 $('#prefs_save_button').bind('click', this.savePrefsClicked);59 $('#prefs_cancel_button').bind('click', this.cancelPrefsClicked);60 $('#inspector_tab_info').bind('click', this.inspectorTabClicked);61 $('#inspector_tab_activity').bind('click', this.inspectorTabClicked);62 $('#inspector_tab_files').bind('click', this.inspectorTabClicked);48 $('#pause_all_link').bind('click', function(e){ tr.stopAllClicked(e); }); 49 $('#resume_all_link').bind('click', function(e){ tr.startAllClicked(e); }); 50 $('#pause_selected_link').bind('click', function(e){ tr.stopSelectedClicked(e); } ); 51 $('#resume_selected_link').bind('click', function(e){ tr.startSelectedClicked(e); }); 52 $('#remove_link').bind('click', function(e){ tr.removeClicked(e); }); 53 $('#removedata_link').bind('click', function(e){ tr.removeDataClicked(e); }); 54 $('#filter_all_link').parent().bind('click', function(e){ tr.showAllClicked(e); }); 55 $('#filter_downloading_link').parent().bind('click', function(e){ tr.showDownloadingClicked(e); }); 56 $('#filter_seeding_link').parent().bind('click', function(e){ tr.showSeedingClicked(e); }); 57 $('#filter_paused_link').parent().bind('click', function(e){ tr.showPausedClicked(e); }); 58 $('#prefs_save_button').bind('click', function(e) { tr.savePrefsClicked(e); return false;}); 59 $('#prefs_cancel_button').bind('click', function(e){ tr.cancelPrefsClicked(e); return false; }); 60 $('#inspector_tab_info').bind('click', function(e){ tr.inspectorTabClicked(e); }); 61 $('#inspector_tab_activity').bind('click', function(e){ tr.inspectorTabClicked(e); }); 62 $('#inspector_tab_files').bind('click', function(e){ tr.inspectorTabClicked(e); }); 63 63 if (iPhone) { 64 $('#torrent_inspector').bind('click', this.hideInspector);65 $('#preferences_link').bind('click', this.releaseClutchPreferencesButton);64 $('#torrent_inspector').bind('click', function(e){ tr.hideInspector(); }); 65 $('#preferences_link').bind('click', function(e){ tr.releaseClutchPreferencesButton(e); }); 66 66 } else { 67 $(document).bind('keydown', this.keyDown);68 $('#torrent_container').bind('click', function( ){ tr.deselectAll( true ); });69 $('#open_link').bind('click', this.openTorrentClicked);70 $('#filter_toggle_link').bind('click', this.toggleFilterClicked);71 $('#inspector_link').bind('click', this.toggleInspectorClicked);72 $('#upload_confirm_button').bind('click', this.confirmUploadClicked);73 $('#upload_cancel_button').bind('click', this.cancelUploadClicked);67 $(document).bind('keydown', function(e){ tr.keyDown(e); }); 68 $('#torrent_container').bind('click', function(e){ tr.deselectAll( true ); }); 69 $('#open_link').bind('click', function(e){ tr.openTorrentClicked(e); }); 70 $('#filter_toggle_link').bind('click', function(e){ tr.toggleFilterClicked(e); }); 71 $('#inspector_link').bind('click', function(e){ tr.toggleInspectorClicked(e); }); 72 $('#upload_confirm_button').bind('click', function(e){ tr.confirmUploadClicked(e); return false;}); 73 $('#upload_cancel_button').bind('click', function(e){ tr.cancelUploadClicked(e); return false; }); 74 74 75 75 this.setupSearchBox(); … … 201 201 202 202 contextStopSelected: function( ) { 203 t ransmission.stopSelectedTorrents( );203 this.stopSelectedTorrents( ); 204 204 }, 205 205 contextStartSelected: function( ) { 206 t ransmission.startSelectedTorrents( );206 this.startSelectedTorrents( ); 207 207 }, 208 208 contextRemoveSelected: function( ) { 209 t ransmission.removeSelectedTorrents( );209 this.removeSelectedTorrents( ); 210 210 }, 211 211 contextRemoveDataSelected: function( ) { 212 t ransmission.removeSelectedTorrentsAndData( );212 this.removeSelectedTorrentsAndData( ); 213 213 }, 214 214 contextVerifySelected: function( ) { 215 t ransmission.verifySelectedTorrents( );215 this.verifySelectedTorrents( ); 216 216 }, 217 217 contextToggleInspector: function( ) { 218 t ransmission.toggleInspector( );218 this.toggleInspector( ); 219 219 }, 220 220 contextSelectAll: function( ) { 221 t ransmission.selectAll( true );221 this.selectAll( true ); 222 222 }, 223 223 contextDeselectAll: function( ) { 224 t ransmission.deselectAll( true );224 this.deselectAll( true ); 225 225 }, 226 226 … … 229 229 */ 230 230 createContextMenu: function() { 231 231 var tr = this; 232 232 var bindings = { 233 context_pause_selected: this.contextStopSelected,234 context_resume_selected: this.contextStartSelected,235 context_remove: this.contextRemoveSelected,236 context_removedata: this.contextRemoveDataSelected,237 context_verify: this.contextVerifySelected,238 context_toggle_inspector: this.contextToggleInspector,239 context_select_all: this.contextSelectAll,240 context_deselect_all: this.contextDeselectAll233 context_pause_selected: function(e){ tr.contextStopSelected(e); }, 234 context_resume_selected: function(e){ tr.contextStartSelected(e); }, 235 context_remove: function(e){ tr.contextRemoveSelected(e); }, 236 context_removedata: function(e){ tr.contextRemoveDataSelected(e); }, 237 context_verify: function(e){ tr.contextVerifySelected(e); }, 238 context_toggle_inspector: function(e){ tr.contextToggleInspector(e); }, 239 context_select_all: function(e){ tr.contextSelectAll(e); }, 240 context_deselect_all: function(e){ tr.contextDeselectAll(e); } 241 241 }; 242 242 … … 259 259 */ 260 260 createSettingsMenu: function() { 261 var tr = this; 261 262 $('#settings_menu').transMenu({ 262 263 selected_char: '✔', 263 264 direction: 'up', 264 onClick: this.processSettingsMenuEvent265 onClick: function(e){ tr.processSettingsMenuEvent(e); } 265 266 }); 266 267 … … 390 391 391 392 selectAll: function( doUpdate ) { 392 var tr = t ransmission;393 var tr = this; 393 394 for( var i=0, len=tr._rows.length; i<len; ++i ) 394 395 tr.selectElement( tr._rows[i] ); … … 397 398 }, 398 399 deselectAll: function( doUpdate ) { 399 var tr = t ransmission;400 var tr = this; 400 401 for( var i=0, len=tr._rows.length; i<len; ++i ) 401 402 tr.deselectElement( tr._rows[i] ); … … 446 447 keyDown: function(event) 447 448 { 448 var tr = t ransmission;449 var tr = this; 449 450 var sel = tr.getSelectedTorrents( ); 450 451 var rows = tr.getVisibleRows( ); … … 478 479 479 480 stopAllClicked: function( event ) { 480 var tr = t ransmission;481 var tr = this; 481 482 if( tr.isButtonEnabled( event ) ) { 482 483 tr.stopAllTorrents( ); … … 486 487 487 488 stopSelectedClicked: function( event ) { 488 var tr = t ransmission;489 var tr = this; 489 490 if( tr.isButtonEnabled( event ) ) { 490 491 tr.stopSelectedTorrents( ); … … 494 495 495 496 startAllClicked: function( event ) { 496 var tr = t ransmission;497 var tr = this; 497 498 if( tr.isButtonEnabled( event ) ) { 498 499 tr.startAllTorrents( ); … … 502 503 503 504 startSelectedClicked: function( event ) { 504 var tr = t ransmission;505 var tr = this; 505 506 if( tr.isButtonEnabled( event ) ) { 506 507 tr.startSelectedTorrents( ); … … 510 511 511 512 openTorrentClicked: function( event ) { 512 var tr = t ransmission;513 var tr = this; 513 514 if( tr.isButtonEnabled( event ) ) { 514 515 $('body').addClass('open_showing'); … … 526 527 $('#upload_container').hide(); 527 528 } 528 t ransmission.updateButtonStates();529 this.updateButtonStates(); 529 530 }, 530 531 531 532 cancelUploadClicked: function(event) { 532 t ransmission.hideUploadDialog( );533 this.hideUploadDialog( ); 533 534 }, 534 535 535 536 confirmUploadClicked: function(event) { 536 t ransmission.uploadTorrentFile( true );537 t ransmission.hideUploadDialog( );537 this.uploadTorrentFile( true ); 538 this.hideUploadDialog( ); 538 539 }, 539 540 540 541 cancelPrefsClicked: function(event) { 541 t ransmission.hidePrefsDialog( );542 this.hidePrefsDialog( ); 542 543 }, 543 544 … … 545 546 { 546 547 // handle the clutch prefs locally 547 var tr = t ransmission;548 var tr = this; 548 549 tr.setPref( Prefs._AutoStart, $('#prefs_form #auto_start')[0].checked ); 549 550 var rate = parseInt( $('#prefs_form #refresh_rate')[0].value ); … … 571 572 572 573 removeClicked: function( event ) { 573 var tr = t ransmission;574 var tr = this; 574 575 if( tr.isButtonEnabled( event ) ) { 575 576 tr.removeSelectedTorrents( ); … … 579 580 580 581 removeDataClicked: function( event ) { 581 var tr = t ransmission;582 var tr = this; 582 583 if( tr.isButtonEnabled( event ) ) { 583 584 tr.removeSelectedTorrentsAndData( ); … … 587 588 588 589 toggleInspectorClicked: function( event ) { 589 var tr = t ransmission;590 var tr = this; 590 591 if( tr.isButtonEnabled( event ) ) 591 592 tr.toggleInspector( ); … … 610 611 } 611 612 } 612 t ransmission.hideiPhoneAddressbar();613 this.hideiPhoneAddressbar(); 613 614 }, 614 615 615 616 toggleFilterClicked: function(event) { 616 if (t ransmission.isButtonEnabled(event))617 t ransmission.toggleFilter();617 if (this.isButtonEnabled(event)) 618 this.toggleFilter(); 618 619 }, 619 620 setFilter: function( mode ) … … 635 636 }, 636 637 showAllClicked: function( event ) { 637 t ransmission.setFilter( Prefs._FilterAll );638 this.setFilter( Prefs._FilterAll ); 638 639 }, 639 640 showDownloadingClicked: function( event ) { 640 t ransmission.setFilter( Prefs._FilterDownloading );641 this.setFilter( Prefs._FilterDownloading ); 641 642 }, 642 643 showSeedingClicked: function(event) { 643 t ransmission.setFilter( Prefs._FilterSeeding );644 this.setFilter( Prefs._FilterSeeding ); 644 645 }, 645 646 showPausedClicked: function(event) { 646 t ransmission.setFilter( Prefs._FilterPaused );647 this.setFilter( Prefs._FilterPaused ); 647 648 }, 648 649 … … 686 687 $('body').addClass('prefs_showing'); 687 688 $('#prefs_container').show(); 688 t ransmission.hideiPhoneAddressbar();689 this.hideiPhoneAddressbar(); 689 690 if( Safari3 ) 690 691 setTimeout("$('div#prefs_container div.dialog_window').css('top', '0px');",10); … … 696 697 $('body.prefs_showing').removeClass('prefs_showing'); 697 698 if (iPhone) { 698 t ransmission.hideiPhoneAddressbar();699 this.hideiPhoneAddressbar(); 699 700 $('#prefs_container').hide(); 700 701 } else if (Safari3) { … … 763 764 */ 764 765 processSettingsMenuEvent: function(event) { 765 // Don't use 'this' in the function to avoid confusion (this != transmission instance)766 var element = this;766 var tr = this; 767 var $element = $(event.target); 767 768 768 769 // Figure out which menu has been clicked 769 switch ($ (element).parent()[0].id) {770 switch ($element.parent()[0].id) { 770 771 771 772 // Display the preferences dialog 772 773 case 'footer_super_menu': 773 if ($ (element)[0].id == 'preferences') {774 if ($element[0].id == 'preferences') { 774 775 $('div#prefs_container div#pref_error').hide(); 775 776 $('div#prefs_container h2.dialog_heading').show(); 776 tr ansmission.showPrefsDialog( );777 tr.showPrefsDialog( ); 777 778 } 778 779 break; … … 781 782 case 'footer_download_rate_menu': 782 783 var args = { }; 783 var rate = ( this.innerHTML).replace(/[^0-9]/ig, '');784 if ($ (this).is('#unlimited_download_rate')) {785 $ (this).deselectMenuSiblings().selectMenuItem();784 var rate = ($element[0].innerHTML).replace(/[^0-9]/ig, ''); 785 if ($element.is('#unlimited_download_rate')) { 786 $element.deselectMenuSiblings().selectMenuItem(); 786 787 args[RPC._DownSpeedLimited] = false; 787 788 } else { … … 793 794 } 794 795 $('div.preference input#limit_download')[0].checked = args[RPC._DownSpeedLimited]; 795 tr ansmission.remote.savePrefs( args );796 tr.remote.savePrefs( args ); 796 797 break; 797 798 … … 799 800 case 'footer_upload_rate_menu': 800 801 var args = { }; 801 var rate = ( this.innerHTML).replace(/[^0-9]/ig, '');802 if ($ (this).is('#unlimited_upload_rate')) {803 $ (this).deselectMenuSiblings().selectMenuItem();802 var rate = ($element[0].innerHTML).replace(/[^0-9]/ig, ''); 803 if ($element.is('#unlimited_upload_rate')) { 804 $element.deselectMenuSiblings().selectMenuItem(); 804 805 args[RPC._UpSpeedLimited] = false; 805 806 } else { … … 811 812 } 812 813 $('div.preference input#limit_upload')[0].checked = args[RPC._UpSpeedLimited]; 813 tr ansmission.remote.savePrefs( args );814 tr.remote.savePrefs( args ); 814 815 break; 815 816 … … 818 819 819 820 // The 'reverse sort' option state can be toggled independently of the other options 820 if ($ (this).is('#reverse_sort_order')) {821 if ($element.is('#reverse_sort_order')) { 821 822 var dir; 822 if ($ (this).menuItemIsSelected()) {823 $ (this).deselectMenuItem();823 if ($element.menuItemIsSelected()) { 824 $element.deselectMenuItem(); 824 825 dir = Prefs._SortAscending; 825 826 } else { 826 $ (this).selectMenuItem();827 $element.selectMenuItem(); 827 828 dir = Prefs._SortDescending; 828 829 } 829 tr ansmission.setSortDirection( dir );830 tr.setSortDirection( dir ); 830 831 831 832 // Otherwise, deselect all other options (except reverse-sort) and select this one 832 833 } else { 833 $ (this).parent().find('span.selected').each( function() {834 if (! $ (this).parent().is('#reverse_sort_order')) {835 $ (this).parent().deselectMenuItem();834 $element.parent().find('span.selected').each( function() { 835 if (! $element.parent().is('#reverse_sort_order')) { 836 $element.parent().deselectMenuItem(); 836 837 } 837 838 }); 838 $ (this).selectMenuItem();839 var method = $ (this)[0].id.replace(/sort_by_/, '');840 tr ansmission.setSortMethod( method );839 $element.selectMenuItem(); 840 var method = $element[0].id.replace(/sort_by_/, ''); 841 tr.setSortMethod( method ); 841 842 } 842 843 break; … … 859 860 var torrents = this.getSelectedTorrents( ); 860 861 if( !torrents.length && iPhone ) { 861 t ransmission.hideInspector();862 this.hideInspector(); 862 863 return; 863 864 } … … 1055 1056 transmsision.deselectAll( ); 1056 1057 $('body.inspector_showing').removeClass('inspector_showing'); 1057 t ransmission.hideiPhoneAddressbar();1058 this.hideiPhoneAddressbar(); 1058 1059 } else { 1059 1060 $('#torrent_filter_bar')[0].style.right = '0px';
Note: See TracChangeset
for help on using the changeset viewer.