X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/3aadbb82d9e8ea9b6495ea180112df6b9a94c4c7..5fbc0fa65aa3b6e0ea001db702817fcf68d7d327:/src/msw/filedlg.cpp diff --git a/src/msw/filedlg.cpp b/src/msw/filedlg.cpp index 78b3437750..db3b773dd0 100644 --- a/src/msw/filedlg.cpp +++ b/src/msw/filedlg.cpp @@ -82,12 +82,36 @@ char *wxFileSelector(const char *title, defaultFilenameString = ""; wxFileDialog fileDialog(parent, title, defaultDirString, defaultFilenameString, filter2, flags, wxPoint(x, y)); - + if(defaultExtension) + { + unsigned int ii; + int filterFind,filterIndex=0; + filterFind=1; + for(ii=0;ii 0 && is+1 < filter2.Length()) + if(filter2.Mid(is+1,ii-is-1) == defaultExtension) + { + filterFind=filterIndex; + break; + } + } + } + fileDialog.SetFilterIndex(filterFind); + } + if ( fileDialog.ShowModal() == wxID_OK ) - { + { strcpy(wxBuffer, (const char *)fileDialog.GetPath()); return wxBuffer; - } + } else return NULL; } @@ -271,7 +295,8 @@ int wxFileDialog::ShowModal(void) extension = extension + strlen( extension ) +1; } - if ( (extension = strrchr( extension, '.' )) // != "blabla" + extension = strrchr( extension, '.' ); + if ( extension // != "blabla" && !strrchr( extension, '*' ) // != "blabla.*" && !strrchr( extension, '?' ) // != "blabla.?" && extension[1] // != "blabla."