summaryrefslogtreecommitdiff
path: root/redo/dialog_darwin.m
blob: 05570184611f3d13426ec7138b000be5046d33a2 (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
// 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];
	beginModal();
	ret = [op runModal];
	endModal();
	if (ret != NSFileHandlingPanelOKButton)
		return NULL;
	// string freed on the Go side
	return strdup([[[op URL] path] UTF8String]);
}