X-Git-Url: https://git.yukkurigames.com/?p=enjoyable.git;a=blobdiff_plain;f=ConfigsController.m;h=b4db790889fb9118a80b8aeec634631e463f3286;hp=dbb2c6f063c4b9e1df5a6fcd5db0b63016a1f89d;hb=03b4a589de71a49ad00450701630673631e88647;hpb=4ce3f2876a51400f7e3baa213bd23ecd0101398a diff --git a/ConfigsController.m b/ConfigsController.m index dbb2c6f..b4db790 100644 --- a/ConfigsController.m +++ b/ConfigsController.m @@ -14,26 +14,22 @@ #import "TargetController.h" @implementation ConfigsController { - NSMutableArray *configs; + NSMutableArray *_configs; Config *manualConfig; } -@synthesize currentConfig; -@synthesize configs; - - (id)init { if ((self = [super init])) { - configs = [[NSMutableArray alloc] init]; - currentConfig = [[Config alloc] init]; - currentConfig.name = @"(default)"; - manualConfig = currentConfig; - [configs addObject:currentConfig]; + _configs = [[NSMutableArray alloc] init]; + _currentConfig = [[Config alloc] initWithName:@"(default)"]; + manualConfig = _currentConfig; + [_configs addObject:_currentConfig]; } return self; } - (Config *)objectForKeyedSubscript:(NSString *)name { - for (Config *config in configs) + for (Config *config in _configs) if ([name isEqualToString:config.name]) return config; return nil; @@ -48,38 +44,36 @@ - (void)activateConfig:(Config *)config { if (!config) config = manualConfig; - if (currentConfig == config) + if (_currentConfig == config) return; manualConfig = config; - currentConfig = config; - [targetController reset]; - [removeButton setEnabled:configs[0] != config]; - [targetController load]; + _currentConfig = config; + [removeButton setEnabled:_configs[0] != config]; + [targetController loadCurrent]; [(ApplicationController *)[[NSApplication sharedApplication] delegate] configChanged]; - [tableView selectRowIndexes:[NSIndexSet indexSetWithIndex:[configs indexOfObject:config]] byExtendingSelection:NO]; + [tableView selectRowIndexes:[NSIndexSet indexSetWithIndex:[_configs indexOfObject:config]] byExtendingSelection:NO]; } - (IBAction)addPressed:(id)sender { - Config *newConfig = [[Config alloc] init]; - newConfig.name = @"untitled"; - [configs addObject:newConfig]; + Config *newConfig = [[Config alloc] initWithName:@"Untitled"]; + [_configs addObject:newConfig]; [(ApplicationController *)[[NSApplication sharedApplication] delegate] configsChanged]; [tableView reloadData]; - [tableView selectRowIndexes:[NSIndexSet indexSetWithIndex:configs.count - 1] byExtendingSelection:NO]; - [tableView editColumn:0 row:[configs count] - 1 withEvent:nil select:YES]; + [tableView selectRowIndexes:[NSIndexSet indexSetWithIndex:_configs.count - 1] byExtendingSelection:NO]; + [tableView editColumn:0 row:[_configs count] - 1 withEvent:nil select:YES]; } - (IBAction)removePressed:(id)sender { if (tableView.selectedRow == 0) return; - Config *toRemove = configs[tableView.selectedRow]; - [configs removeObjectAtIndex:tableView.selectedRow]; + Config *toRemove = _configs[tableView.selectedRow]; + [_configs removeObjectAtIndex:tableView.selectedRow]; - if (toRemove == currentConfig) - currentConfig = configs[0]; + if (toRemove == _currentConfig) + _currentConfig = _configs[0]; if (toRemove == manualConfig) - manualConfig = configs[0]; + manualConfig = _configs[0]; [(ApplicationController *)[[NSApplication sharedApplication] delegate] configsChanged]; [tableView reloadData]; @@ -87,22 +81,21 @@ -(void)tableViewSelectionDidChange:(NSNotification *)notify { if (tableView.selectedRow >= 0) - [self activateConfig:configs[tableView.selectedRow]]; + [self activateConfig:_configs[tableView.selectedRow]]; } - (id)tableView:(NSTableView *)view objectValueForTableColumn:(NSTableColumn *)column row:(int)index { - return [configs[index] name]; + return [_configs[index] name]; } - (void)tableView:(NSTableView *)view setObjectValue:(NSString *)obj forTableColumn:(NSTableColumn *)col row:(int)index { - [(Config *)configs[index] setName:obj]; - [targetController refreshConfigsPreservingSelection:YES]; + [(Config *)_configs[index] setName:obj]; [tableView reloadData]; [(ApplicationController *)[[NSApplication sharedApplication] delegate] configsChanged]; } - (int)numberOfRowsInTableView:(NSTableView*)table { - return [configs count]; + return [_configs count]; } - (BOOL)tableView:(NSTableView *)view shouldEditTableColumn:(NSTableColumn *)column row:(int)index { @@ -119,8 +112,8 @@ } - (NSDictionary *)dumpAll { - NSMutableArray *ary = [[NSMutableArray alloc] initWithCapacity:configs.count]; - for (Config *config in configs) { + NSMutableArray *ary = [[NSMutableArray alloc] initWithCapacity:_configs.count]; + for (Config *config in _configs) { NSMutableDictionary* cfgEntries = [[NSMutableDictionary alloc] initWithCapacity:config.entries.count]; for (id key in config.entries) cfgEntries[key] = [config.entries[key] serialize]; @@ -128,7 +121,7 @@ @"entries": cfgEntries, }]; } - NSUInteger current = currentConfig ? [configs indexOfObject:currentConfig] : 0; + NSUInteger current = _currentConfig ? [_configs indexOfObject:_currentConfig] : 0; return @{ @"configurationList": ary, @"selectedConfiguration": @(current) }; } @@ -139,8 +132,7 @@ // have to do two passes in case config1 refers to config2 via a TargetConfig for (NSDictionary *storedConfig in storedConfigs) { - Config *cfg = [[Config alloc] init]; - cfg.name = storedConfig[@"name"]; + Config *cfg = [[Config alloc] initWithName:storedConfig[@"name"]]; [newConfigs addObject:cfg]; } @@ -156,10 +148,10 @@ int current = [envelope[@"selectedConfiguration"] unsignedIntValue]; if (current >= newConfigs.count) current = 0; - configs = newConfigs; + _configs = newConfigs; [tableView reloadData]; [(ApplicationController *)[[NSApplication sharedApplication] delegate] configsChanged]; - [self activateConfig:configs[current]]; + [self activateConfig:_configs[current]]; } }