Changeset 16
- Timestamp:
- Jan 12, 2006, 6:54:46 PM (15 years ago)
- Location:
- trunk/macosx
- Files:
-
- 6 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/macosx/Controller.h
r7 r16 44 44 IBOutlet NSMenuItem * fPauseResumeItem; 45 45 IBOutlet NSMenuItem * fRemoveItem; 46 IBOutlet NSMenuItem * fRemoveTorrentItem; 47 IBOutlet NSMenuItem * fRemoveDataItem; 48 IBOutlet NSMenuItem * fRemoveBothItem; 46 49 IBOutlet NSMenuItem * fRevealItem; 50 IBOutlet NSMenuItem * fShowHideToolbar; 47 51 48 52 IBOutlet NSWindow * fWindow; … … 95 99 - (NSMenu *) menuForIndex: (int) idx; 96 100 101 - (void) runCustomizationPalette: (id) sender; 102 - (void) showHideToolbar: (id) sender; 103 97 104 - (void) showMainWindow: (id) sender; 98 105 - (void) linkHomepage: (id) sender; 99 106 - (void) linkForums: (id) sender; 100 - (void) notifyGrowl: 107 - (void) notifyGrowl: (NSString *) file; 101 108 - (void) finderReveal: (NSString *) path; 102 109 - (void) finderTrash: (NSString *) path; -
trunk/macosx/Controller.m
r15 r16 28 28 #include "TorrentTableView.h" 29 29 30 #define TOOLBAR_OPEN @"Toolbar Open" 31 #define TOOLBAR_REMOVE @"Toolbar Remove" 32 #define TOOLBAR_PREFS @"Toolbar Preferences" 33 #define TOOLBAR_INFO @"Toolbar Info" 30 #define TOOLBAR_OPEN @"Toolbar Open" 31 #define TOOLBAR_REMOVE @"Toolbar Remove" 32 #define TOOLBAR_PREFS @"Toolbar Preferences" 33 #define TOOLBAR_INFO @"Toolbar Info" 34 #define TOOLBAR_PAUSE_ALL @"Toolbar Pause All" 35 #define TOOLBAR_RESUME_ALL @"Toolbar Resume All" 34 36 35 37 #define CONTEXT_PAUSE 1 … … 48 50 49 51 @implementation Controller 50 51 - (void) updateBars52 {53 NSArray * items;54 NSToolbarItem * item;55 BOOL enable;56 int row;57 unsigned i;58 59 row = [fTableView selectedRow];60 61 /* Can we remove it ? */62 enable = ( row >= 0 ) && ( fStat[row].status &63 ( TR_STATUS_STOPPING | TR_STATUS_PAUSE ) );64 items = [fToolbar items];65 for( i = 0; i < [items count]; i++ )66 {67 item = [items objectAtIndex: i];68 if( [[item itemIdentifier] isEqualToString: TOOLBAR_REMOVE] )69 {70 [item setAction: enable ? @selector( removeTorrent: ) : NULL];71 }72 }73 [fRemoveItem setAction: enable ? @selector( removeTorrent: ) : NULL];74 75 /* Can we pause or resume it ? */76 [fPauseResumeItem setTitle: @"Pause"];77 [fPauseResumeItem setAction: NULL];78 if( row < 0 )79 {80 [fRevealItem setAction: NULL];81 return;82 }83 84 [fRevealItem setAction: @selector( revealFromMenu: )];85 86 if( fStat[row].status & TR_STATUS_PAUSE )87 {88 [fPauseResumeItem setTitle: @"Resume"];89 [fPauseResumeItem setAction: @selector( resumeTorrent: )];90 }91 else if( fStat[row].status & ( TR_STATUS_CHECK |92 TR_STATUS_DOWNLOAD | TR_STATUS_SEED ) )93 {94 [fPauseResumeItem setAction: @selector( stopTorrent: )];95 }96 }97 52 98 53 - (void) awakeFromNib … … 557 512 tr_setFinished( fHandle, i, 0 ); 558 513 } 559 560 /* Must we do this? Can't remember */561 [self updateBars];562 514 } 563 515 … … 663 615 int row = [fTableView selectedRow]; 664 616 665 [self updateBars];666 667 617 if( row < 0 ) 668 618 { … … 676 626 [fInfoDownloaded setStringValue: @""]; 677 627 [fInfoUploaded setStringValue: @""]; 678 [fInfoSeeders 628 [fInfoSeeders setStringValue: @""]; 679 629 [fInfoLeechers setStringValue: @""]; 680 630 return; … … 698 648 699 649 if ( fStat[row].seeders == -1 ) { 700 701 702 703 704 705 706 707 708 709 710 650 [fInfoSeeders setStringValue: [NSString stringWithUTF8String: "?"]]; 651 } else { 652 [fInfoSeeders setStringValue: [NSString stringWithFormat: @"%d", 653 fStat[row].seeders]]; 654 } 655 if ( fStat[row].leechers == -1 ) { 656 [fInfoLeechers setStringValue: [NSString stringWithUTF8String: "?"]]; 657 } else { 658 [fInfoLeechers setStringValue: [NSString stringWithFormat: @"%d", 659 fStat[row].leechers]]; 660 } 711 661 } 712 662 … … 720 670 { 721 671 [item setLabel: @"Open"]; 672 [item setPaletteLabel: [item label]]; 722 673 [item setToolTip: @"Open a torrent"]; 723 674 [item setImage: [NSImage imageNamed: @"Open.png"]]; … … 728 679 { 729 680 [item setLabel: @"Remove"]; 681 [item setPaletteLabel: [item label]]; 730 682 [item setToolTip: @"Remove torrent from list"]; 731 683 [item setImage: [NSImage imageNamed: @"Remove.png"]]; 732 684 [item setTarget: self]; 733 /* We set the selector in updateBars: */685 [item setAction: @selector( removeTorrent: )]; 734 686 } 735 687 else if( [ident isEqualToString: TOOLBAR_PREFS] ) 736 688 { 737 689 [item setLabel: @"Preferences"]; 690 [item setPaletteLabel: [item label]]; 738 691 [item setToolTip: @"Show the Preferences panel"]; 739 692 [item setImage: [NSImage imageNamed: @"Preferences.png"]]; … … 744 697 { 745 698 [item setLabel: @"Info"]; 699 [item setPaletteLabel: [item label]]; 746 700 [item setToolTip: @"Information"]; 747 701 [item setImage: [NSImage imageNamed: @"Info.png"]]; … … 749 703 [item setAction: @selector( showInfo: )]; 750 704 } 705 else if( [ident isEqualToString: TOOLBAR_RESUME_ALL] ) 706 { 707 [item setLabel: @"Resume All"]; 708 [item setPaletteLabel: [item label]]; 709 [item setToolTip: @"Resume all torrents"]; 710 [item setImage: [NSImage imageNamed: @"Resume.png"]]; 711 [item setTarget: self]; 712 [item setAction: @selector( resumeAllTorrents: )]; 713 } 714 else if( [ident isEqualToString: TOOLBAR_PAUSE_ALL] ) 715 { 716 [item setLabel: @"Pause All"]; 717 [item setPaletteLabel: [item label]]; 718 [item setToolTip: @"Pause all torrents"]; 719 [item setImage: [NSImage imageNamed: @"Stop.png"]]; 720 [item setTarget: self]; 721 [item setAction: @selector( stopAllTorrents: )]; 722 } 751 723 else 752 724 { … … 760 732 - (NSArray *) toolbarAllowedItemIdentifiers: (NSToolbar *) t 761 733 { 762 return [NSArray arrayWithObjects: TOOLBAR_OPEN, TOOLBAR_REMOVE, 763 NSToolbarFlexibleSpaceItemIdentifier, TOOLBAR_PREFS, 764 TOOLBAR_INFO, NULL]; 734 return [NSArray arrayWithObjects: 735 TOOLBAR_OPEN, TOOLBAR_REMOVE, 736 /* TOOLBAR_RESUME_ALL, TOOLBAR_PAUSE_ALL, */ 737 TOOLBAR_PREFS, TOOLBAR_INFO, 738 NSToolbarSeparatorItemIdentifier, 739 NSToolbarSpaceItemIdentifier, 740 NSToolbarFlexibleSpaceItemIdentifier, 741 NSToolbarCustomizeToolbarItemIdentifier, 742 NULL]; 765 743 } 766 744 767 745 - (NSArray *) toolbarDefaultItemIdentifiers: (NSToolbar *) t 768 746 { 769 return [self toolbarAllowedItemIdentifiers: t]; 747 return [NSArray arrayWithObjects: 748 TOOLBAR_OPEN, TOOLBAR_REMOVE, 749 /* NSToolbarSeparatorItemIdentifier, 750 TOOLBAR_RESUME_ALL, TOOLBAR_PAUSE_ALL, */ 751 NSToolbarFlexibleSpaceItemIdentifier, 752 TOOLBAR_PREFS, TOOLBAR_INFO, 753 NULL]; 754 } 755 756 - (BOOL)validateToolbarItem:(NSToolbarItem *)toolbarItem 757 { 758 //check remove item 759 if ([toolbarItem action] == @selector(removeTorrent:)) 760 { 761 int row = [fTableView selectedRow]; 762 return ( row >= 0 ) && ( fStat[row].status & 763 ( TR_STATUS_STOPPING | TR_STATUS_PAUSE ) ); 764 } 765 766 return true; 767 } 768 769 - (void) runCustomizationPalette: (id) sender 770 { 771 [fToolbar runCustomizationPalette:sender]; 772 } 773 774 - (void) showHideToolbar: (id) sender 775 { 776 [fWindow toggleToolbarShown:sender]; 777 } 778 779 - (BOOL)validateMenuItem:(NSMenuItem *)menuItem 780 { 781 //enable customize toolbar item 782 if ([menuItem action] == @selector(showHideToolbar:)) 783 [menuItem setTitle: [fToolbar isVisible] ? @"Hide Toolbar" : @"Show Toolbar"]; 784 785 if ([fToolbar customizationPaletteIsRunning]) 786 return false; 787 788 //enable show info 789 if ([menuItem action] == @selector(showInfo:)) 790 { 791 [menuItem setTitle: [fInfoPanel isVisible] ? @"Hide Info" : @"Show Info"]; 792 return true; 793 } 794 795 int row = [fTableView selectedRow]; 796 797 //enable remove items 798 if ([menuItem action] == @selector(removeTorrent:) || [menuItem action] == @selector(removeTorrentDeleteFile:) 799 || [menuItem action] == @selector(removeTorrentDeleteData:) || [menuItem action] == @selector(removeTorrentDeleteBoth:)) { 800 /* Can we remove it ? */ 801 return ( row >= 0 ) && ( fStat[row].status & 802 ( TR_STATUS_STOPPING | TR_STATUS_PAUSE ) ); 803 } 804 805 //enable reveal in finder item 806 if ([menuItem action] == @selector(revealFromMenu:)) 807 return row >= 0; 808 809 //enable and change pause and remove item 810 if ([menuItem action] == @selector(resumeTorrent:) || [menuItem action] == @selector(stopTorrent:)) 811 { 812 if (row >= 0 && fStat[row].status & TR_STATUS_PAUSE) 813 { 814 [menuItem setTitle: @"Resume"]; 815 [menuItem setAction: @selector( resumeTorrent: )]; 816 } 817 else 818 { 819 [menuItem setTitle: @"Pause"]; 820 [menuItem setAction: @selector( stopTorrent: )]; 821 } 822 return row >= 0; 823 } 824 825 return true; 770 826 } 771 827 … … 815 871 } 816 872 } 817 [self updateBars];818 873 break; 819 874 } -
trunk/macosx/English.lproj/MainMenu.nib/classes.nib
r6 r16 4 4 ACTIONS = { 5 5 advancedChanged = id; 6 growlRegister = id; 6 7 linkForums = id; 7 8 linkHomepage = id; … … 14 15 resumeTorrent = id; 15 16 revealFromMenu = id; 17 runCustomizationPalette = id; 18 showHideToolbar = id; 16 19 showInfo = id; 17 20 showMainWindow = id; … … 38 41 fPauseResumeItem = NSMenuItem; 39 42 fPrefsController = PrefsController; 43 fRemoveBothItem = NSMenuItem; 44 fRemoveDataItem = NSMenuItem; 40 45 fRemoveItem = NSMenuItem; 46 fRemoveTorrentItem = NSMenuItem; 41 47 fRevealItem = NSMenuItem; 48 fShowHideToolbar = NSMenuItem; 42 49 fTableView = TorrentTableView; 43 50 fTotalDLField = NSTextField; -
trunk/macosx/English.lproj/MainMenu.nib/info.nib
r6 r16 4 4 <dict> 5 5 <key>IBDocumentLocation</key> 6 <string> 231 62 361 432 0 0 1280 832 </string>6 <string>416 137 361 432 0 0 1152 842 </string> 7 7 <key>IBEditorPositions</key> 8 8 <dict> 9 9 <key>29</key> 10 <string> 92 769 371 44 0 0 1280 832 </string>10 <string>79 779 371 44 0 0 1152 842 </string> 11 11 <key>456</key> 12 <string>1 16 510 147 106 0 0 1280 832 </string>12 <string>134 408 144 106 0 0 1152 842 </string> 13 13 </dict> 14 14 <key>IBFramework Version</key> … … 18 18 <key>IBOpenObjects</key> 19 19 <array> 20 <integer>456</integer>21 20 <integer>29</integer> 22 <integer>21</integer>23 <integer>273</integer>24 21 </array> 25 22 <key>IBSystem Version</key> -
trunk/macosx/Transmission.xcodeproj/project.pbxproj
r7 r16 334 334 FRAMEWORK_SEARCH_PATHS = ( 335 335 "$(FRAMEWORK_SEARCH_PATHS)", 336 "$(SRCROOT)/Frameworks",337 336 ); 338 337 GCC_GENERATE_DEBUGGING_SYMBOLS = YES;
Note: See TracChangeset
for help on using the changeset viewer.