X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/e15e548b5073fd06a35f7328fb9b811f75702a52..90186e524e347a3a779c928a44fb7d744b3efcf7:/src/msw/filedlg.cpp?ds=sidebyside diff --git a/src/msw/filedlg.cpp b/src/msw/filedlg.cpp index 05c91f918c..30d397bf4f 100644 --- a/src/msw/filedlg.cpp +++ b/src/msw/filedlg.cpp @@ -24,13 +24,15 @@ #include #include "wx/defs.h" #include "wx/utils.h" +#include "wx/msgdlg.h" #include "wx/dialog.h" #include "wx/filedlg.h" +#include "wx/intl.h" #endif #include -#ifndef __WIN32__ +#if !defined(__WIN32__) || defined(__SALFORDC__) #include #endif @@ -82,12 +84,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 +297,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." @@ -328,10 +355,10 @@ wxDefaultFileSelector(bool load, const char *what, const char *extension, const char prompt[50]; wxString str; if (load) - str = (const char*) wxTString("Load %s file"); + str = "Load %s file"; else - str = (const char*) wxTString("Save %s file"); - sprintf(prompt, str, what); + str = "Save %s file"; + sprintf(prompt, wxGetTranslation(str), what); if (*ext == '.') ext++; char wild[60];