Changeset 576
- Timestamp:
- Jul 15, 2006, 4:22:42 PM (16 years ago)
- Location:
- trunk
- Files:
-
- 2 added
- 7 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/Transmission.xcodeproj/project.pbxproj
r573 r576 100 100 A25FCDF00A3769AC002BCBBE /* ResumeSelected.png in Resources */ = {isa = PBXBuildFile; fileRef = A25FCDDE0A37695F002BCBBE /* ResumeSelected.png */; }; 101 101 A26D450B0A0503AC00A10BB3 /* peermessages.h in Headers */ = {isa = PBXBuildFile; fileRef = 4D1838A309DEC0430047D688 /* peermessages.h */; }; 102 A27431DB0A68538400FA780A /* BarButton.m in Sources */ = {isa = PBXBuildFile; fileRef = A27431D90A68538400FA780A /* BarButton.m */; }; 102 103 A27674CF0A5AF1FF00334870 /* SpeedLimitButtonPressed.png in Resources */ = {isa = PBXBuildFile; fileRef = A27674CE0A5AF1FF00334870 /* SpeedLimitButtonPressed.png */; }; 103 104 A27A53570A06A76400E1F16F /* StatusSep.png in Resources */ = {isa = PBXBuildFile; fileRef = A27A53560A06A76400E1F16F /* StatusSep.png */; }; … … 282 283 A25FCDDD0A37695F002BCBBE /* PauseSelected.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; name = PauseSelected.png; path = macosx/Images/PauseSelected.png; sourceTree = "<group>"; }; 283 284 A25FCDDE0A37695F002BCBBE /* ResumeSelected.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; name = ResumeSelected.png; path = macosx/Images/ResumeSelected.png; sourceTree = "<group>"; }; 285 A27431D80A68538400FA780A /* BarButton.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; name = BarButton.h; path = macosx/BarButton.h; sourceTree = "<group>"; }; 286 A27431D90A68538400FA780A /* BarButton.m */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.objc; name = BarButton.m; path = macosx/BarButton.m; sourceTree = "<group>"; }; 284 287 A27674CE0A5AF1FF00334870 /* SpeedLimitButtonPressed.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; name = SpeedLimitButtonPressed.png; path = macosx/Images/SpeedLimitButtonPressed.png; sourceTree = "<group>"; }; 285 288 A27A53420A06A62500E1F16F /* StatusSep.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; name = StatusSep.png; path = macosx/Images/StatusSep.png; sourceTree = "<group>"; }; … … 359 362 A2AF1C360A3D0F6200F1575D /* FileTableView.h */, 360 363 A2AF1C370A3D0F6200F1575D /* FileTableView.m */, 364 A27431D80A68538400FA780A /* BarButton.h */, 365 A27431D90A68538400FA780A /* BarButton.m */, 361 366 ); 362 367 name = Sources; … … 745 750 A2519D490A2FADFC00479D0C /* SmoothAquaView.m in Sources */, 746 751 A2AF1C390A3D0F6200F1575D /* FileTableView.m in Sources */, 752 A27431DB0A68538400FA780A /* BarButton.m in Sources */, 747 753 ); 748 754 runOnlyForDeploymentPostprocessing = 0; -
trunk/macosx/Controller.h
r571 r576 32 32 #import "Badger.h" 33 33 #import "SmoothAquaView.h" 34 #import "BarButton.h" 34 35 35 36 @class TorrentTableView; … … 64 65 * fNoFilterItem, * fPauseFilterItem, 65 66 * fSeedFilterItem, * fDownloadFilterItem; 67 68 IBOutlet NSView * fFilterBar; 69 BOOL fFilterBarVisible; 70 IBOutlet BarButton * fNoFilterButton, * fPauseFilterButton, 71 * fSeedFilterButton, * fDownloadFilterButton; 66 72 67 73 IBOutlet NSMenuItem * fNextInfoTabItem, * fPrevInfoTabItem; … … 163 169 - (void) toggleStatusBar: (id) sender; 164 170 - (void) showStatusBar: (BOOL) show animate: (BOOL) animate; 171 - (void) toggleFilterBar: (id) sender; 172 - (void) showFilterBar: (BOOL) show animate: (BOOL) animate; 173 165 174 - (void) toggleAdvancedBar: (id) sender; 166 175 -
trunk/macosx/Controller.m
r571 r576 105 105 [fPrefsController setPrefs: fLib]; 106 106 107 //ensure filter buttons display correctly 108 [fWindow setAcceptsMouseMovedEvents: YES]; 109 107 110 [fAdvancedBarItem setState: [fDefaults boolForKey: @"UseAdvancedBar"]]; 108 111 … … 133 136 [fPrevInfoTabItem setKeyEquivalent: [NSString stringWithCharacters: & ch length: 1]]; 134 137 138 //set up filter bar 139 NSView * contentView = [fWindow contentView]; 140 141 fFilterBarVisible = NO; 142 NSRect filterBarFrame = [fFilterBar frame]; 143 filterBarFrame.size.width = [fWindow frame].size.width; 144 [fFilterBar setFrame: filterBarFrame]; 145 146 [contentView addSubview: fFilterBar]; 147 [fFilterBar setFrameOrigin: NSMakePoint(0, [contentView frame].origin.y + [contentView frame].size.height)]; 148 [self showFilterBar: [fDefaults boolForKey: @"FilterBar"] animate: NO]; 149 135 150 //set up status bar 151 fStatusBarVisible = NO; 136 152 NSRect statusBarFrame = [fStatusBar frame]; 137 153 statusBarFrame.size.width = [fWindow frame].size.width; 138 154 [fStatusBar setFrame: statusBarFrame]; 139 155 140 NSView * contentView = [fWindow contentView];141 156 [contentView addSubview: fStatusBar]; 142 [fStatusBar setFrameOrigin: NSMakePoint(0, [ fScrollView frame].origin.y + [fScrollView frame].size.height)];157 [fStatusBar setFrameOrigin: NSMakePoint(0, [contentView frame].origin.y + [contentView frame].size.height)]; 143 158 [self showStatusBar: [fDefaults boolForKey: @"StatusBar"] animate: NO]; 144 159 … … 201 216 fFilterType = [[fDefaults stringForKey: @"Filter"] retain]; 202 217 218 [fNoFilterButton setText: @"All"]; 219 [fPauseFilterButton setText: @"Paused"]; 220 [fSeedFilterButton setText: @"Seeding"]; 221 [fDownloadFilterButton setText: @"Downloading"]; 222 203 223 NSMenuItem * currentFilterItem; 224 BarButton * currentFilterButton; 204 225 if ([fFilterType isEqualToString: @"Pause"]) 226 { 205 227 currentFilterItem = fPauseFilterItem; 228 currentFilterButton = fPauseFilterButton; 229 } 206 230 else if ([fFilterType isEqualToString: @"Seed"]) 231 { 207 232 currentFilterItem = fSeedFilterItem; 233 currentFilterButton = fSeedFilterButton; 234 } 208 235 else if ([fFilterType isEqualToString: @"Download"]) 236 { 209 237 currentFilterItem = fDownloadFilterItem; 238 currentFilterButton = fDownloadFilterButton; 239 } 210 240 else 241 { 211 242 currentFilterItem = fNoFilterItem; 243 currentFilterButton = fNoFilterButton; 244 } 212 245 213 246 [currentFilterItem setState: NSOnState]; 247 [currentFilterButton setEnabled: YES]; 214 248 215 249 //set upload limit action button … … 360 394 [[NSApp windows] makeObjectsPerformSelector: @selector(close)]; 361 395 [self showStatusBar: NO animate: NO]; 396 [self showFilterBar: NO animate: NO]; 362 397 363 398 //clear badge … … 1022 1057 { 1023 1058 NSMenuItem * prevFilterItem; 1059 BarButton * prevFilterButton; 1024 1060 if ([fFilterType isEqualToString: @"Pause"]) 1061 { 1025 1062 prevFilterItem = fPauseFilterItem; 1063 prevFilterButton = fPauseFilterButton; 1064 } 1026 1065 else if ([fFilterType isEqualToString: @"Seed"]) 1066 { 1027 1067 prevFilterItem = fSeedFilterItem; 1068 prevFilterButton = fSeedFilterButton; 1069 } 1028 1070 else if ([fFilterType isEqualToString: @"Download"]) 1071 { 1029 1072 prevFilterItem = fDownloadFilterItem; 1073 prevFilterButton = fDownloadFilterButton; 1074 } 1030 1075 else 1076 { 1031 1077 prevFilterItem = fNoFilterItem; 1032 1033 if (sender != prevFilterItem) 1078 prevFilterButton = fNoFilterButton; 1079 } 1080 1081 if (sender != prevFilterItem && sender != prevFilterButton) 1034 1082 { 1035 1083 [prevFilterItem setState: NSOffState]; 1036 [sender setState: NSOnState]; 1037 1084 [prevFilterButton setEnabled: NO]; 1085 1086 NSMenuItem * currentFilterItem; 1087 BarButton * currentFilterButton; 1038 1088 [fFilterType release]; 1039 if (sender == fNoFilterItem) 1089 if (sender == fDownloadFilterItem || sender == fDownloadFilterButton) 1090 { 1091 fFilterType = [[NSString alloc] initWithString: @"Download"]; 1092 currentFilterItem = fDownloadFilterItem; 1093 currentFilterButton = fDownloadFilterButton; 1094 } 1095 else if (sender == fPauseFilterItem || sender == fPauseFilterButton) 1096 { 1097 fFilterType = [[NSString alloc] initWithString: @"Pause"]; 1098 currentFilterItem = fPauseFilterItem; 1099 currentFilterButton = fPauseFilterButton; 1100 } 1101 else if (sender == fSeedFilterItem || sender == fSeedFilterButton) 1102 { 1103 fFilterType = [[NSString alloc] initWithString: @"Seed"]; 1104 currentFilterItem = fSeedFilterItem; 1105 currentFilterButton = fSeedFilterButton; 1106 } 1107 else 1108 { 1040 1109 fFilterType = [[NSString alloc] initWithString: @"None"]; 1041 else if (sender == fPauseFilterItem) 1042 fFilterType = [[NSString alloc] initWithString: @"Pause"]; 1043 else if (sender == fSeedFilterItem) 1044 fFilterType = [[NSString alloc] initWithString: @"Seed"]; 1045 else 1046 fFilterType = [[NSString alloc] initWithString: @"Download"]; 1047 1110 currentFilterItem = fNoFilterItem; 1111 currentFilterButton = fNoFilterButton; 1112 } 1113 1114 [currentFilterItem setState: NSOnState]; 1115 [currentFilterButton setEnabled: YES]; 1048 1116 [fDefaults setObject: fFilterType forKey: @"Filter"]; 1049 1117 } … … 1484 1552 //set views to not autoresize 1485 1553 unsigned int statsMask = [fStatusBar autoresizingMask]; 1554 unsigned int filterMask = [fFilterBar autoresizingMask]; 1486 1555 unsigned int scrollMask = [fScrollView autoresizingMask]; 1487 1556 [fStatusBar setAutoresizingMask: 0]; 1557 [fFilterBar setAutoresizingMask: 0]; 1488 1558 [fScrollView setAutoresizingMask: 0]; 1489 1559 … … 1492 1562 //re-enable autoresize 1493 1563 [fStatusBar setAutoresizingMask: statsMask]; 1564 [fFilterBar setAutoresizingMask: filterMask]; 1565 [fScrollView setAutoresizingMask: scrollMask]; 1566 1567 //change min size 1568 NSSize minSize = [fWindow contentMinSize]; 1569 minSize.height += heightChange; 1570 [fWindow setContentMinSize: minSize]; 1571 } 1572 1573 - (void) toggleFilterBar: (id) sender 1574 { 1575 [self showFilterBar: !fFilterBarVisible animate: YES]; 1576 [fDefaults setBool: fFilterBarVisible forKey: @"FilterBar"]; 1577 } 1578 1579 - (void) showFilterBar: (BOOL) show animate: (BOOL) animate 1580 { 1581 if (show == fFilterBarVisible) 1582 return; 1583 1584 NSRect frame = [fWindow frame]; 1585 float heightChange = [fFilterBar frame].size.height; 1586 if (!show) 1587 heightChange *= -1; 1588 1589 frame.size.height += heightChange; 1590 frame.origin.y -= heightChange; 1591 1592 fFilterBarVisible = !fFilterBarVisible; 1593 1594 //set views to not autoresize 1595 unsigned int filterMask = [fFilterBar autoresizingMask]; 1596 unsigned int scrollMask = [fScrollView autoresizingMask]; 1597 [fFilterBar setAutoresizingMask: 0]; 1598 [fScrollView setAutoresizingMask: 0]; 1599 1600 [fWindow setFrame: frame display: YES animate: animate]; 1601 1602 //re-enable autoresize 1603 [fFilterBar setAutoresizingMask: filterMask]; 1494 1604 [fScrollView setAutoresizingMask: scrollMask]; 1495 1605 … … 1691 1801 { 1692 1802 NSString * title = fStatusBarVisible ? @"Hide Status Bar" : @"Show Status Bar"; 1803 if (![[menuItem title] isEqualToString: title]) 1804 [menuItem setTitle: title]; 1805 1806 return canUseMenu; 1807 } 1808 1809 //enable toggle filter bar 1810 if (action == @selector(toggleFilterBar:)) 1811 { 1812 NSString * title = fFilterBarVisible ? @"Hide Filter Bar" : @"Show Filter Bar"; 1693 1813 if (![[menuItem title] isEqualToString: title]) 1694 1814 [menuItem setTitle: title]; -
trunk/macosx/Defaults.plist
r562 r576 35 35 <key>Filter</key> 36 36 <string>None</string> 37 <key>FilterBar</key> 38 <false/> 37 39 <key>History</key> 38 40 <array/> -
trunk/macosx/English.lproj/MainMenu.nib/classes.nib
r562 r576 1 1 { 2 2 IBClasses = ( 3 {CLASS = BarButton; LANGUAGE = ObjC; SUPERCLASS = NSImageView; }, 3 4 { 4 5 ACTIONS = { … … 28 29 stopSelectedTorrents = id; 29 30 toggleAdvancedBar = id; 31 toggleFilterBar = id; 30 32 toggleSmallView = id; 31 33 toggleSpeedLimit = id; … … 38 40 fAdvancedBarItem = NSMenuItem; 39 41 fDateSortItem = NSMenuItem; 42 fDownloadFilterButton = BarButton; 40 43 fDownloadFilterItem = NSMenuItem; 41 44 fDownloadLimitItem = NSMenuItem; 42 45 fDownloadMenu = NSMenu; 43 46 fDownloadNoLimitItem = NSMenuItem; 47 fFilterBar = NSView; 44 48 fNameSortItem = NSMenuItem; 45 49 fNextInfoTabItem = NSMenuItem; 50 fNoFilterButton = BarButton; 46 51 fNoFilterItem = NSMenuItem; 47 52 fOrderSortItem = NSMenuItem; 53 fPauseFilterButton = BarButton; 48 54 fPauseFilterItem = NSMenuItem; 49 55 fPrevInfoTabItem = NSMenuItem; … … 52 58 fRatioSetItem = NSMenuItem; 53 59 fScrollView = NSScrollView; 60 fSeedFilterButton = BarButton; 54 61 fSeedFilterItem = NSMenuItem; 55 62 fSmallViewItem = NSMenuItem; -
trunk/macosx/English.lproj/MainMenu.nib/info.nib
r555 r576 4 4 <dict> 5 5 <key>IBDocumentLocation</key> 6 <string> 28 75422 283 0 0 1152 842 </string>6 <string>19 80 422 283 0 0 1152 842 </string> 7 7 <key>IBEditorPositions</key> 8 8 <dict> … … 10 10 <string>344 478 208 99 0 0 1152 842 </string> 11 11 <key>1480</key> 12 <string>366 548 420 60 0 0 1152 842 </string> 12 <string>364 490 420 60 0 0 1152 842 </string> 13 <key>1603</key> 14 <string>337 545 477 66 0 0 1152 842 </string> 13 15 <key>29</key> 14 16 <string>9 780 451 44 0 0 1152 842 </string> … … 31 33 <array> 32 34 <integer>29</integer> 35 <integer>1603</integer> 33 36 </array> 34 37 <key>IBSystem Version</key>
Note: See TracChangeset
for help on using the changeset viewer.