763bbac7157001ff217aad3fc06f07da458a57f3
[enjoyable.git] / TargetConfig.m
1 //
2 // TargetConfig.m
3 // Enjoy
4 //
5 // Created by Sam McCall on 6/05/09.
6 //
7
8 #import "TargetConfig.h"
9
10 #import "ApplicationController.h"
11 #import "Config.h"
12 #import "ConfigsController.h"
13
14 @implementation TargetConfig
15
16 - (NSString *)stringify {
17 return [[NSString alloc] initWithFormat: @"cfg~%@", self.config.name];
18 }
19
20 + (TargetConfig *)unstringifyImpl:(NSArray *)comps withConfigList:(NSArray *)configs {
21 NSString *name = comps[1];
22 TargetConfig *target = [[TargetConfig alloc] init];
23 for (Config *config in configs) {
24 if ([config.name isEqualToString:name]) {
25 target.config = config;
26 return target;
27 }
28 }
29 NSLog(@"Warning: couldn't find matching config to restore from: %@", name);
30 return nil;
31 }
32
33 - (void)trigger {
34 [[(ApplicationController *)[[NSApplication sharedApplication] delegate] configsController] activateConfig:self.config];
35 }
36
37 @end