From f8e3f12ab02b528f2a05a4f713d7af7ea8e44b42 Mon Sep 17 00:00:00 2001 From: Pietro Gagliardi Date: Fri, 11 Dec 2015 20:37:59 -0500 Subject: LET'S GET THIS FINAL REWRITE EVER STARTED --- prev/dialog_darwin.m | 30 ++++++++++++++++++++++++++++++ 1 file changed, 30 insertions(+) create mode 100644 prev/dialog_darwin.m (limited to 'prev/dialog_darwin.m') diff --git a/prev/dialog_darwin.m b/prev/dialog_darwin.m new file mode 100644 index 0000000..4fb9e3e --- /dev/null +++ b/prev/dialog_darwin.m @@ -0,0 +1,30 @@ +// 19 august 2014 + +#import "objc_darwin.h" +#import + +#define toNSWindow(x) ((NSWindow *) (x)) + +void openFile(id parent, void *data) +{ + NSOpenPanel *op; + + 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]; + [op beginSheetModalForWindow:toNSWindow(parent) completionHandler:^(NSInteger ret){ + if (ret != NSFileHandlingPanelOKButton) { + finishOpenFile(NULL, data); + return; + } + // string freed on the Go side + finishOpenFile(strdup([[[op URL] path] UTF8String]), data); + }]; +} -- cgit v1.2.3