diff --git a/PanoPainter-OSX/main.cpp b/PanoPainter-OSX/main.cpp index 86e5f0f..89fd826 100644 --- a/PanoPainter-OSX/main.cpp +++ b/PanoPainter-OSX/main.cpp @@ -61,6 +61,26 @@ std::mutex task_mutex; } return ret; } +- (std::string)pick_dir +{ + NSOpenPanel *panel = [NSOpenPanel openPanel]; + [panel setCanChooseFiles:NO]; + [panel setCanChooseDirectories:YES]; + [panel setAllowsMultipleSelection:NO]; // yes if more than one dir is allowed + + NSInteger clicked = [panel runModal]; + + std::string ret; + if (clicked == NSFileHandlingPanelOKButton) + { + for (NSURL *url in [panel URLs]) + { + LOG("selected path: %s", [[url path] cStringUsingEncoding:NSUTF8StringEncoding]); + ret = [[url path] cStringUsingEncoding:NSUTF8StringEncoding]; + } + } + return ret; +} - (instancetype)initWithFrame:(NSRect)frameRect { gl_ready = false; diff --git a/PanoPainter-OSX/main.h b/PanoPainter-OSX/main.h index ab49287..6a2d0a2 100644 --- a/PanoPainter-OSX/main.h +++ b/PanoPainter-OSX/main.h @@ -23,4 +23,5 @@ - (void)async_unlock; - (void)async_swap; - (std::string)pick_file:(NSArray*)types; +- (std::string)pick_dir; @end diff --git a/data/layout.xml b/data/layout.xml index b109021..367b375 100644 --- a/data/layout.xml +++ b/data/layout.xml @@ -317,7 +317,7 @@