diff --git a/Playlist/ToggleQueueTitleTransformer.h b/Playlist/ToggleQueueTitleTransformer.h new file mode 100644 index 000000000..02908cea1 --- /dev/null +++ b/Playlist/ToggleQueueTitleTransformer.h @@ -0,0 +1,16 @@ +// +// ToggleQueueTitleTransformer.h +// Cog +// +// Created by Vincent Spader on 3/8/08. +// Copyright 2008 __MyCompanyName__. All rights reserved. +// + +#import + + +@interface ToggleQueueTitleTransformer : NSObject { + +} + +@end diff --git a/Playlist/ToggleQueueTitleTransformer.m b/Playlist/ToggleQueueTitleTransformer.m new file mode 100644 index 000000000..1e5596ea3 --- /dev/null +++ b/Playlist/ToggleQueueTitleTransformer.m @@ -0,0 +1,50 @@ +// +// ToggleQueueTitleTransformer.m +// Cog +// +// Created by Vincent Spader on 3/8/08. +// Copyright 2008 __MyCompanyName__. All rights reserved. +// + +#import "ToggleQueueTitleTransformer.h" + + +@implementation ToggleQueueTitleTransformer + + ++ (Class)transformedValueClass { return [NSArray class]; } ++ (BOOL)allowsReverseTransformation { return NO; } + +// Convert from NSNumber to NSString +- (id)transformedValue:(id)value { + if (value == nil) return nil; + if ([value count] == 0) return nil; + + BOOL trueFound = NO; + BOOL falseFound = NO; + + for (NSNumber *q in value) { + BOOL queued = [q boolValue]; + + if (queued) + { + trueFound = YES; + } + else if (!queued) + { + falseFound = YES; + } + } + + + if (trueFound && !falseFound) + return @"Remove from Queue"; + else if (falseFound && !trueFound) + return @"Add to Queue"; + else + return @"Toggle Queued"; + +} + + +@end