| 118 | } |
| 119 | |
| 120 | bool MacFileSystem::ShowBrowseFolderDialog(Window* parentWindow, const StringView& initialDirectory, const StringView& title, String& path) |
| 121 | { |
| 122 | bool result = true; |
| 123 | @autoreleasepool { |
| 124 | NSWindow* focusedWindow = [[NSApplication sharedApplication] keyWindow]; |
| 125 | |
| 126 | NSOpenPanel* dialog = [NSOpenPanel openPanel]; |
| 127 | [dialog setCanChooseFiles:NO]; |
| 128 | [dialog setCanChooseDirectories:YES]; |
| 129 | [dialog setCanCreateDirectories:YES]; |
| 130 | [dialog setAllowsMultipleSelection:NO]; |
| 131 | InitMacDialog(dialog, initialDirectory, StringView::Empty, title); |
| 132 | |
| 133 | if ([dialog runModal] == NSModalResponseOK) |
| 134 | { |
| 135 | const NSURL* url = [dialog URL]; |
| 136 | path = AppleUtils::ToString((CFStringRef)[url path]); |
| 137 | result = false; |
| 138 | } |
| 139 | |
| 140 | [focusedWindow makeKeyAndOrderFront:nil]; |
| 141 | } |
| 142 | return result; |
| 143 | } |
| 144 |
no test coverage detected