| 2125 | |
| 2126 | |
| 2127 | static int inputBoxWinGui( |
| 2128 | char * aoBuff, |
| 2129 | char const * aTitle, /* NULL or "" */ |
| 2130 | char const * aMessage, /* NULL or "" may NOT contain \n nor \t */ |
| 2131 | char const * aDefaultInput) /* "" , if NULL it's a passwordBox */ |
| 2132 | { |
| 2133 | wchar_t lTitle[128] = L""; |
| 2134 | wchar_t * lMessage = NULL; |
| 2135 | wchar_t lDefaultInput[MAX_PATH_OR_CMD] = L""; |
| 2136 | wchar_t * lTmpWChar; |
| 2137 | char * lTmpChar; |
| 2138 | |
| 2139 | if (aTitle) |
| 2140 | { |
| 2141 | if (tinyfd_winUtf8) lTmpWChar = tinyfd_utf8to16(aTitle); |
| 2142 | else lTmpWChar = tinyfd_mbcsTo16(aTitle); |
| 2143 | wcscpy(lTitle, lTmpWChar); |
| 2144 | } |
| 2145 | if (aMessage) |
| 2146 | { |
| 2147 | if (tinyfd_winUtf8) lTmpWChar = tinyfd_utf8to16(aMessage); |
| 2148 | else lTmpWChar = tinyfd_mbcsTo16(aMessage); |
| 2149 | lMessage = (wchar_t *) malloc((wcslen(lTmpWChar) + 1)* sizeof(wchar_t)); |
| 2150 | if (lMessage) wcscpy(lMessage, lTmpWChar); |
| 2151 | } |
| 2152 | if (aDefaultInput) |
| 2153 | { |
| 2154 | if (tinyfd_winUtf8) lTmpWChar = tinyfd_utf8to16(aDefaultInput); |
| 2155 | else lTmpWChar = tinyfd_mbcsTo16(aDefaultInput); |
| 2156 | wcscpy(lDefaultInput, lTmpWChar); |
| 2157 | lTmpWChar = tinyfd_inputBoxW(lTitle, lMessage, lDefaultInput); |
| 2158 | } |
| 2159 | else lTmpWChar = tinyfd_inputBoxW(lTitle, lMessage, NULL); |
| 2160 | |
| 2161 | free(lMessage); |
| 2162 | |
| 2163 | if (!lTmpWChar) |
| 2164 | { |
| 2165 | aoBuff[0] = '\0'; |
| 2166 | return 0; |
| 2167 | } |
| 2168 | |
| 2169 | if (tinyfd_winUtf8) lTmpChar = tinyfd_utf16to8(lTmpWChar); |
| 2170 | else lTmpChar = tinyfd_utf16toMbcs(lTmpWChar); |
| 2171 | |
| 2172 | strcpy(aoBuff, lTmpChar); |
| 2173 | |
| 2174 | return 1; |
| 2175 | } |
| 2176 | |
| 2177 | |
| 2178 | static char * saveFileDialogWinGui( |
no test coverage detected