From a66b692e29674de9c444fd54f0493d03b4900abc Mon Sep 17 00:00:00 2001 From: ritsuka Date: Tue, 23 Dec 2014 10:23:59 +0000 Subject: MacGui: move the UI helper methods to new categories. Implement NSCoding in more classes. git-svn-id: svn://svn.handbrake.fr/HandBrake/trunk@6643 b64f7644-9d1e-0410-96f1-a4d463321fa5 --- macosx/HBFilters+UIAdditions.m | 144 +++++++++++++++++++++++++++++++++++++++++ 1 file changed, 144 insertions(+) create mode 100644 macosx/HBFilters+UIAdditions.m (limited to 'macosx/HBFilters+UIAdditions.m') diff --git a/macosx/HBFilters+UIAdditions.m b/macosx/HBFilters+UIAdditions.m new file mode 100644 index 000000000..88fbc9e37 --- /dev/null +++ b/macosx/HBFilters+UIAdditions.m @@ -0,0 +1,144 @@ +/* HBFilters+UIAdditions.m $ + + This file is part of the HandBrake source code. + Homepage: . + It may be used under the terms of the GNU General Public License. */ + +#import "HBFilters+UIAdditions.h" + +extern NSDictionary *_HandBrake_denoiseTypesDict; +extern NSDictionary *_HandBrake_denoisePresetsDict; +extern NSDictionary *_HandBrake_nlmeansTunesDict; + +@implementation HBGenericDictionaryTransformer + ++ (Class)transformedValueClass +{ + return [NSString class]; +} + +- (id)transformedValue:(id)value +{ + return [[self.dict allKeysForObject:value] firstObject]; +} + ++ (BOOL)allowsReverseTransformation +{ + return YES; +} + +- (id)reverseTransformedValue:(id)value +{ + return [self.dict valueForKey:value]; +} + +@end + +@implementation HBDenoisePresetTransformer + +- (instancetype)init +{ + if (self = [super init]) + self.dict = [HBFilters denoisePresetDict]; + + return self; +} + +@end + +@implementation HBDenoiseTuneTransformer + +- (instancetype)init +{ + if (self = [super init]) + self.dict = [HBFilters nlmeansTunesDict]; + + return self; +} + +@end + +@implementation HBDenoiseTransformer + +- (instancetype)init +{ + if (self = [super init]) + self.dict = [HBFilters denoiseTypesDict]; + + return self; +} + +@end + +@implementation HBCustomFilterTransformer + ++ (Class)transformedValueClass +{ + return [NSNumber class]; +} + +- (id)transformedValue:(id)value +{ + if ([value intValue] == 1) + return @NO; + else + return @YES; +} + ++ (BOOL)allowsReverseTransformation +{ + return NO; +} + +@end + +@implementation HBFilters (UIAdditions) + +#pragma mark - Valid values + ++ (NSDictionary *)denoisePresetDict +{ + return _HandBrake_denoisePresetsDict; +} + ++ (NSDictionary *)nlmeansTunesDict +{ + return _HandBrake_nlmeansTunesDict; +} + ++ (NSDictionary *)denoiseTypesDict +{ + return _HandBrake_denoiseTypesDict; +} + +- (NSArray *)detelecineSettings +{ + return @[@"Off", @"Custom", @"Default"]; +} + +- (NSArray *)decombSettings +{ + return @[@"Off", @"Custom", @"Default", @"Fast", @"Bob"]; +} + +- (NSArray *)deinterlaceSettings +{ + return @[@"Off", @"Custom", @"Fast", @"Slow", @"Slower", @"Bob"]; +} + +- (NSArray *)denoiseTypes +{ + return @[@"Off", @"NLMeans", @"HQDN3D"]; +} + +- (NSArray *)denoisePresets +{ + return @[@"Custom", @"Ultralight", @"Light", @"Medium", @"Strong"]; +} + +- (NSArray *)denoiseTunes +{ + return @[@"None", @"Film", @"Grain", @"High Motion", @"Animation"]; +} + +@end -- cgit v1.2.3