| 2316 | |
| 2317 | |
| 2318 | static char * selectFolderDialogWinGui( |
| 2319 | char * aoBuff, |
| 2320 | char const * aTitle, /* NULL or "" */ |
| 2321 | char const * aDefaultPath) /* NULL or "" */ |
| 2322 | { |
| 2323 | wchar_t lTitle[128] = L""; |
| 2324 | wchar_t lDefaultPath[MAX_PATH_OR_CMD] = L""; |
| 2325 | wchar_t * lTmpWChar; |
| 2326 | char * lTmpChar; |
| 2327 | |
| 2328 | if (aTitle) |
| 2329 | { |
| 2330 | if (tinyfd_winUtf8) lTmpWChar = tinyfd_utf8to16(aTitle); |
| 2331 | else lTmpWChar = tinyfd_mbcsTo16(aTitle); |
| 2332 | wcscpy(lTitle, lTmpWChar); |
| 2333 | } |
| 2334 | if (aDefaultPath) |
| 2335 | { |
| 2336 | if (tinyfd_winUtf8) lTmpWChar = tinyfd_utf8to16(aDefaultPath); |
| 2337 | else lTmpWChar = tinyfd_mbcsTo16(aDefaultPath); |
| 2338 | wcscpy(lDefaultPath, lTmpWChar); |
| 2339 | } |
| 2340 | |
| 2341 | lTmpWChar = tinyfd_selectFolderDialogW( |
| 2342 | lTitle, |
| 2343 | lDefaultPath); |
| 2344 | |
| 2345 | if (!lTmpWChar) |
| 2346 | { |
| 2347 | return NULL; |
| 2348 | } |
| 2349 | |
| 2350 | if (tinyfd_winUtf8) lTmpChar = tinyfd_utf16to8(lTmpWChar); |
| 2351 | else lTmpChar = tinyfd_utf16toMbcs(lTmpWChar); |
| 2352 | strcpy(aoBuff, lTmpChar); |
| 2353 | |
| 2354 | return aoBuff; |
| 2355 | } |
| 2356 | |
| 2357 | |
| 2358 | static char * colorChooserWinGui( |
no test coverage detected