63 lines
1.8 KiB
Objective-C
63 lines
1.8 KiB
Objective-C
//
|
|
// StatusImageTransformer.m
|
|
// Cog
|
|
//
|
|
// Created by Vincent Spader on 2/21/08.
|
|
// Copyright 2008 __MyCompanyName__. All rights reserved.
|
|
//
|
|
|
|
#import "StatusImageTransformer.h"
|
|
#import "PlaylistEntry.h"
|
|
|
|
@implementation StatusImageTransformer
|
|
|
|
@synthesize playImage;
|
|
@synthesize queueImage;
|
|
@synthesize errorImage;
|
|
@synthesize stopAfterImage;
|
|
|
|
+ (Class)transformedValueClass {
|
|
return [NSImage class];
|
|
}
|
|
+ (BOOL)allowsReverseTransformation {
|
|
return NO;
|
|
}
|
|
|
|
- (id)init {
|
|
self = [super init];
|
|
if(self) {
|
|
if(@available(macOS 11.0, *)) {
|
|
self.playImage = [NSImage imageWithSystemSymbolName:@"play.fill" accessibilityDescription:NSLocalizedString(@"PlayingTrackTooltip", "")];
|
|
self.queueImage = [NSImage imageWithSystemSymbolName:@"plus" accessibilityDescription:NSLocalizedString(@"QueuedTrackTooltip", "")];
|
|
self.errorImage = [NSImage imageWithSystemSymbolName:@"nosign" accessibilityDescription:NSLocalizedString(@"ErrorTrackTooltip", "")];
|
|
self.stopAfterImage = [NSImage imageWithSystemSymbolName:@"stop.fill" accessibilityDescription:NSLocalizedString(@"StopAfterTrackTooltip", "")];
|
|
} else {
|
|
self.playImage = [NSImage imageNamed:@"playTemplate"];
|
|
self.queueImage = [NSImage imageNamed:@"NSAddTemplate"];
|
|
self.errorImage = [NSImage imageNamed:@"NSStopProgressTemplate"];
|
|
self.stopAfterImage = [NSImage imageNamed:@"stopTemplate"];
|
|
}
|
|
}
|
|
|
|
return self;
|
|
}
|
|
|
|
// Convert from string to RepeatMode
|
|
- (id)transformedValue:(id)value {
|
|
if(value == nil) return nil;
|
|
|
|
if([value isEqualToString:@"playing"]) {
|
|
return self.playImage;
|
|
} else if([value isEqualToString:@"queued"]) {
|
|
return self.queueImage;
|
|
} else if([value isEqualToString:@"error"]) {
|
|
return self.errorImage;
|
|
} else if([value isEqualToString:@"stopAfter"]) {
|
|
return self.stopAfterImage;
|
|
}
|
|
|
|
return nil;
|
|
}
|
|
|
|
@end
|