aboutsummaryrefslogtreecommitdiffstats
path: root/PreferencesController.m
diff options
context:
space:
mode:
authorBrian Cully <bjc@kublai.com>2011-03-15 22:03:11 -0400
committerBrian Cully <github.20.shmit@spamgourmet.com>2011-03-15 22:03:11 -0400
commit9992988f581532a7db50b57594fc3e346398f9fa (patch)
tree1cd36a71bc2d42ba091467e8cf014e1dbec0f635 /PreferencesController.m
parente78a860d2ef8f9995d07868fcfe60ceb15b6b40b (diff)
downloadmoxie-9992988f581532a7db50b57594fc3e346398f9fa.tar.gz
moxie-9992988f581532a7db50b57594fc3e346398f9fa.zip
Update for 10.7
Also set stream type to latin-1 in SBCL. This should become a setting.
Diffstat (limited to 'PreferencesController.m')
-rw-r--r--PreferencesController.m47
1 files changed, 20 insertions, 27 deletions
diff --git a/PreferencesController.m b/PreferencesController.m
index cba6241..2be2f8a 100644
--- a/PreferencesController.m
+++ b/PreferencesController.m
@@ -23,34 +23,27 @@
NSOpenPanel *openPanel;
openPanel = [NSOpenPanel openPanel];
- [openPanel setAllowsMultipleSelection: YES];
- [openPanel beginSheetForDirectory: nil
- file: nil
- types: [NSArray arrayWithObject: @"moxie"]
- modalForWindow: [self window]
- modalDelegate: self
- didEndSelector: @selector(openPanelDidEnd:returnCode:contextInfo:)
- contextInfo: NULL];
-}
-
-- (void)openPanelDidEnd: (NSOpenPanel *)sheet
- returnCode: (int)returnCode
- contextInfo: (void *)contextInfo
-{
- if (returnCode == NSOKButton) {
- NSEnumerator *pathEnum;
- NSMutableArray *newContents;
- NSString *path;
-
- newContents = [NSMutableArray arrayWithArray: [[NSUserDefaults standardUserDefaults] startupWorlds]];
- pathEnum = [[sheet filenames] objectEnumerator];
- while ((path = [pathEnum nextObject]) != nil) {
- [newContents addObject: path];
+
+ void (^openHandler)(NSInteger) = ^(NSInteger result)
+ {
+ if (result == NSFileHandlingPanelOKButton) {
+ NSEnumerator *pathEnum;
+ NSMutableArray *newContents;
+ NSString *path;
+
+ newContents = [NSMutableArray arrayWithArray: [[NSUserDefaults standardUserDefaults] startupWorlds]];
+ pathEnum = [[openPanel URLs] objectEnumerator];
+ while ((path = [pathEnum nextObject]) != nil) {
+ [newContents addObject: path];
+ }
+
+ [[NSUserDefaults standardUserDefaults] setStartupWorlds: newContents];
+ [self refreshStartupTableView];
}
-
- [[NSUserDefaults standardUserDefaults] setStartupWorlds: newContents];
- [self refreshStartupTableView];
- }
+ };
+
+ [openPanel setAllowsMultipleSelection: YES];
+ [openPanel beginSheetModalForWindow:[self window] completionHandler: openHandler];
}
- (IBAction)removeStartupWorld: (id)sender