Changeset 576 for trunk/macosx/Controller.m
- Timestamp:
- Jul 15, 2006, 4:22:42 PM (16 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
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];
Note: See TracChangeset
for help on using the changeset viewer.