add file picker to osx
This commit is contained in:
@@ -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];
|
||||
|
||||
Reference in New Issue
Block a user