add file picker to osx

This commit is contained in:
2019-09-07 11:39:45 +02:00
parent 14a037e2d3
commit 0d2777c4ae
4 changed files with 37 additions and 10 deletions

View File

@@ -97,6 +97,32 @@
}
return ret;
}
- (std::string)pick_file_save:(NSArray<NSString*>*)types
{
NSSavePanel *panel = [NSSavePanel savePanel];
[panel setCanCreateDirectories:YES];
[panel setAllowedFileTypes:types];
[self removeTrackingArea:trackingArea];
if (!cursor_visible)
[NSCursor unhide];
NSInteger clicked = [panel runModal];
[self addTrackingArea:trackingArea];
if (!cursor_visible)
[NSCursor hide];
std::string ret;
if (clicked == NSFileHandlingPanelOKButton)
{
NSURL *url = [panel URL];
LOG("selected file: %s", [[url path] cStringUsingEncoding:NSUTF8StringEncoding]);
ret = [[url path] cStringUsingEncoding:NSUTF8StringEncoding];
}
return ret;
}
- (std::string)pick_dir
{
NSOpenPanel *panel = [NSOpenPanel openPanel];