diff --git a/macosx/BarButton.m b/macosx/BarButton.m index b71b2c0b0..08b940002 100644 --- a/macosx/BarButton.m +++ b/macosx/BarButton.m @@ -33,19 +33,20 @@ fEnabled = NO; fMouseIn = NO; - fButtonNormal = [[NSImage alloc] initWithSize: [self frame].size]; - fButtonIn = [[NSImage alloc] initWithSize: [self frame].size]; - fButtonDown = [[NSImage alloc] initWithSize: [self frame].size]; + NSSize buttonSize = [self frame].size; + fButtonNormal = [[NSImage alloc] initWithSize: buttonSize]; + fButtonIn = [[NSImage alloc] initWithSize: buttonSize]; + fButtonDown = [[NSImage alloc] initWithSize: buttonSize]; //create shape NSBezierPath * rect = [NSBezierPath bezierPath]; float ovalDiamater = 20.0; [rect appendBezierPathWithOvalInRect: - NSMakeRect(0, 0, ovalDiamater, [self frame].size.height)]; + NSMakeRect(0, 0, ovalDiamater, buttonSize.height)]; [rect appendBezierPathWithOvalInRect: - NSMakeRect([self frame].size.width - ovalDiamater, 0, ovalDiamater, [self frame].size.height)]; + NSMakeRect(buttonSize.width - ovalDiamater, 0, ovalDiamater, buttonSize.height)]; [rect appendBezierPathWithRect: - NSMakeRect(ovalDiamater * 0.5, 0, [self frame].size.width - ovalDiamater, [self frame].size.height)]; + NSMakeRect(ovalDiamater * 0.5, 0, buttonSize.width - ovalDiamater, buttonSize.height)]; //create highlighted button [fButtonIn lockFocus]; diff --git a/macosx/Controller.h b/macosx/Controller.h index bec8ba0a3..baf421132 100644 --- a/macosx/Controller.h +++ b/macosx/Controller.h @@ -59,14 +59,13 @@ BOOL fStatusBarVisible; IBOutlet NSTextField * fTotalDLField, * fTotalULField, * fTotalTorrentsField; - NSString * fSortType, * fFilterType; + NSString * fSortType; IBOutlet NSMenuItem * fNameSortItem, * fStateSortItem, * fProgressSortItem, - * fDateSortItem, * fOrderSortItem, - * fNoFilterItem, * fPauseFilterItem, - * fSeedFilterItem, * fDownloadFilterItem; + * fDateSortItem, * fOrderSortItem; IBOutlet NSView * fFilterBar; BOOL fFilterBarVisible; + NSString * fFilterType; IBOutlet BarButton * fNoFilterButton, * fPauseFilterButton, * fSeedFilterButton, * fDownloadFilterButton; diff --git a/macosx/Controller.m b/macosx/Controller.m index 6f0ee4967..230e398d4 100644 --- a/macosx/Controller.m +++ b/macosx/Controller.m @@ -223,27 +223,14 @@ static void sleepCallBack(void * controller, io_service_t y, NSMenuItem * currentFilterItem; BarButton * currentFilterButton; if ([fFilterType isEqualToString: @"Pause"]) - { - currentFilterItem = fPauseFilterItem; currentFilterButton = fPauseFilterButton; - } else if ([fFilterType isEqualToString: @"Seed"]) - { - currentFilterItem = fSeedFilterItem; currentFilterButton = fSeedFilterButton; - } else if ([fFilterType isEqualToString: @"Download"]) - { - currentFilterItem = fDownloadFilterItem; currentFilterButton = fDownloadFilterButton; - } else - { - currentFilterItem = fNoFilterItem; currentFilterButton = fNoFilterButton; - } - - [currentFilterItem setState: NSOnState]; + [currentFilterButton setEnabled: YES]; //set upload limit action button @@ -1055,64 +1042,31 @@ static void sleepCallBack(void * controller, io_service_t y, //resets filter and sorts torrents - (void) setFilter: (id) sender { - NSMenuItem * prevFilterItem; BarButton * prevFilterButton; if ([fFilterType isEqualToString: @"Pause"]) - { - prevFilterItem = fPauseFilterItem; prevFilterButton = fPauseFilterButton; - } else if ([fFilterType isEqualToString: @"Seed"]) - { - prevFilterItem = fSeedFilterItem; prevFilterButton = fSeedFilterButton; - } else if ([fFilterType isEqualToString: @"Download"]) - { - prevFilterItem = fDownloadFilterItem; prevFilterButton = fDownloadFilterButton; - } else - { - prevFilterItem = fNoFilterItem; prevFilterButton = fNoFilterButton; - } - if (sender != prevFilterItem && sender != prevFilterButton) + if (sender != prevFilterButton) { - [prevFilterItem setState: NSOffState]; [prevFilterButton setEnabled: NO]; + [sender setEnabled: YES]; - NSMenuItem * currentFilterItem; - BarButton * currentFilterButton; [fFilterType release]; - if (sender == fDownloadFilterItem || sender == fDownloadFilterButton) - { + if (sender == fDownloadFilterButton) fFilterType = [[NSString alloc] initWithString: @"Download"]; - currentFilterItem = fDownloadFilterItem; - currentFilterButton = fDownloadFilterButton; - } - else if (sender == fPauseFilterItem || sender == fPauseFilterButton) - { + else if (sender == fPauseFilterButton) fFilterType = [[NSString alloc] initWithString: @"Pause"]; - currentFilterItem = fPauseFilterItem; - currentFilterButton = fPauseFilterButton; - } - else if (sender == fSeedFilterItem || sender == fSeedFilterButton) - { + else if (sender == fSeedFilterButton) fFilterType = [[NSString alloc] initWithString: @"Seed"]; - currentFilterItem = fSeedFilterItem; - currentFilterButton = fSeedFilterButton; - } else - { fFilterType = [[NSString alloc] initWithString: @"None"]; - currentFilterItem = fNoFilterItem; - currentFilterButton = fNoFilterButton; - } - - [currentFilterItem setState: NSOnState]; - [currentFilterButton setEnabled: YES]; + [fDefaults setObject: fFilterType forKey: @"Filter"]; } diff --git a/macosx/English.lproj/MainMenu.nib/classes.nib b/macosx/English.lproj/MainMenu.nib/classes.nib index e92c3c9ac..a908049ae 100644 --- a/macosx/English.lproj/MainMenu.nib/classes.nib +++ b/macosx/English.lproj/MainMenu.nib/classes.nib @@ -40,7 +40,6 @@ fAdvancedBarItem = NSMenuItem; fDateSortItem = NSMenuItem; fDownloadFilterButton = BarButton; - fDownloadFilterItem = NSMenuItem; fDownloadLimitItem = NSMenuItem; fDownloadMenu = NSMenu; fDownloadNoLimitItem = NSMenuItem; @@ -48,17 +47,14 @@ fNameSortItem = NSMenuItem; fNextInfoTabItem = NSMenuItem; fNoFilterButton = BarButton; - fNoFilterItem = NSMenuItem; fOrderSortItem = NSMenuItem; fPauseFilterButton = BarButton; - fPauseFilterItem = NSMenuItem; fPrevInfoTabItem = NSMenuItem; fProgressSortItem = NSMenuItem; fRatioNotSetItem = NSMenuItem; fRatioSetItem = NSMenuItem; fScrollView = NSScrollView; fSeedFilterButton = BarButton; - fSeedFilterItem = NSMenuItem; fSmallViewItem = NSMenuItem; fSpeedLimitButton = NSButton; fSpeedLimitDockItem = NSMenuItem; diff --git a/macosx/English.lproj/MainMenu.nib/keyedobjects.nib b/macosx/English.lproj/MainMenu.nib/keyedobjects.nib index 58e268f78..e62d65129 100644 Binary files a/macosx/English.lproj/MainMenu.nib/keyedobjects.nib and b/macosx/English.lproj/MainMenu.nib/keyedobjects.nib differ