blob: 3e662beb8e1c1687a9be3fa87a504a8ff1fd98b8 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
|
// 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;
// string freed on the Go side
return strdup([[[op URL] path] UTF8String]);
}
|