diff options
Diffstat (limited to 'redo/dialog_darwin.m')
| -rw-r--r-- | redo/dialog_darwin.m | 29 |
1 files changed, 29 insertions, 0 deletions
diff --git a/redo/dialog_darwin.m b/redo/dialog_darwin.m new file mode 100644 index 0000000..98b2ae8 --- /dev/null +++ b/redo/dialog_darwin.m @@ -0,0 +1,29 @@ +// 19 august 2014 + +#import "objc_darwin.h" +#import <Cocoa/Cocoa.h> + +char *openFile(void) +{ + NSOpenPanel *op; + NSInteger ret; + + op = [NSOpenPanel openPanel]; + [op setCanChooseFiles:YES]; + [op setCanChooseDirectories:NO]; + [op setResolvesAliases:NO]; + [op setAllowsMultipleSelection:NO]; + [op setShowsHiddenFiles:YES]; + [op setCanSelectHiddenExtension:NO]; + [op setExtensionHidden:NO]; + [op setAllowsOtherFileTypes:YES]; + [op setTreatsFilePackagesAsDirectories:YES]; + // disable custom events + // TODO doesn't seem to work + dispatch_suspend(dispatch_get_main_queue()); + ret = [op runModal]; + dispatch_resume(dispatch_get_main_queue()); + if (ret != NSFileHandlingPanelOKButton) + return NULL; + return strdup([[[op URL] path] UTF8String]); +} |
