X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/ba681060f36767a2682b8547871af2c6f8159955..a23fd0e1d1329a4a258b4defb3e0b0001b700c6e:/src/msw/filedlg.cpp diff --git a/src/msw/filedlg.cpp b/src/msw/filedlg.cpp index 5b63931fe4..cf53ed8159 100644 --- a/src/msw/filedlg.cpp +++ b/src/msw/filedlg.cpp @@ -107,6 +107,7 @@ wxString wxFileSelector(const char *title, if( i-is-1 > 0 && is+1 < filter2.Len() ) { if( filter2.Mid(is+1,i-is-1).Contains(defaultExtension) ) +// if( filter2.Mid(is+1,i-is-1) == defaultExtension ) { filterFind = filterIndex; break; @@ -221,12 +222,19 @@ int wxFileDialog::ShowModal(void) of.lpstrFileTitle = titleBuffer; of.nMaxFileTitle = MAXFILE + 1 + MAXEXT; // Windows 3.0 and 3.1 + // Convert forward slashes to backslashes (file selector doesn't like + // forward slashes) + size_t i = 0; + size_t len = m_dir.Length(); + for (i = 0; i < len; i++) + if (m_dir[i] == '/') + m_dir[i] = '\\'; + of.lpstrInitialDir = (const char *) m_dir; of.Flags = msw_flags; - //=== Like Alejandro Sierra's wildcard modification >>=================== /* In wxFileSelector you can put, instead of a single wild_card, @@ -240,7 +248,11 @@ int wxFileDialog::ShowModal(void) */ //======================================================================= - wxString theFilter = ( Strlen(m_wildCard) == 0 ) ? wxString("*.*") : m_wildCard; + wxString theFilter; + if ( Strlen(m_wildCard) == 0 ) + theFilter = wxString("*.*"); + else + theFilter = m_wildCard ; wxString filterBuffer; if ( !strchr( theFilter, '|' ) ) { // only one filter ==> default text @@ -250,10 +262,13 @@ int wxFileDialog::ShowModal(void) else { // more then one filter filterBuffer = theFilter; - for ( unsigned int i = 0; i < filterBuffer.Len(); i++ ) { - if ( filterBuffer.GetChar(i) == '|' ) { - filterBuffer[i] = '\0'; - } + } + + filterBuffer += "|"; + // Replace | with \0 + for (i = 0; i < filterBuffer.Len(); i++ ) { + if ( filterBuffer.GetChar(i) == '|' ) { + filterBuffer[i] = '\0'; } }