// Created by Sam McCall on 4/05/09.
//
+#import "ConfigsController.h"
+
+#import "ApplicationController.h"
+#import "Config.h"
+#import "ConfigsController.h"
+#import "Target.h"
+#import "TargetController.h"
+
@implementation ConfigsController {
NSMutableArray *configs;
Config *manualConfig;
if (toRemove == manualConfig)
manualConfig = configs[0];
- // remove all "switch to configuration" actions
- for (Config *config in configs) {
- NSMutableDictionary *entries = config.entries;
- for (id key in entries) {
- Target *target = entries[key];
- if ([target isKindOfClass:[TargetConfig class]]
- && [(TargetConfig *)target config] == toRemove)
- [entries removeObjectForKey: key];
- }
- }
[(ApplicationController *)[[NSApplication sharedApplication] delegate] configsChanged];
[tableView reloadData];
}
return [configs[index] name];
}
-- (void)tableView:(NSTableView *)view setObjectValue:obj forTableColumn:(NSTableColumn *)col row:(int)index {
- /* ugly hack so stringification doesn't fail */
- NSString* newName = [(NSString*)obj stringByReplacingOccurrencesOfString: @"~" withString: @""];
- [(Config *)configs[index] setName:newName];
+- (void)tableView:(NSTableView *)view setObjectValue:(NSString *)obj forTableColumn:(NSTableColumn *)col row:(int)index {
+ [(Config *)configs[index] setName:obj];
[targetController refreshConfigsPreservingSelection:YES];
[tableView reloadData];
[(ApplicationController *)[[NSApplication sharedApplication] delegate] configsChanged];
cfgInfo[@"name"] = [config name];
NSMutableDictionary* cfgEntries = [[NSMutableDictionary alloc] init];
for(id key in [config entries]) {
- cfgEntries[key] = [[config entries][key]stringify];
+ cfgEntries[key] = [[config entries][key] serialize];
}
cfgInfo[@"entries"] = cfgEntries;
[ary addObject: cfgInfo];
for(int i=0; i<[ary count]; i++) {
NSDictionary* dict = ary[i][@"entries"];
for(id key in dict) {
- [newConfigs[i] entries][key] = [Target unstringify: dict[key] withConfigList: newConfigs];
+ [newConfigs[i] entries][key] = [Target targetDeserialize:dict[key] withConfigs:newConfigs];
}
}