X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/186545a42fd028d70b24b9767e37f41b59bf0e2e..8b2bac626c3fb981dad0d3e6d04a9b16744022d6:/src/common/fldlgcmn.cpp diff --git a/src/common/fldlgcmn.cpp b/src/common/fldlgcmn.cpp index a6431eba63..119665674f 100644 --- a/src/common/fldlgcmn.cpp +++ b/src/common/fldlgcmn.cpp @@ -45,13 +45,14 @@ wxFileDialogBase::wxFileDialogBase(wxWindow *parent, const wxPoint& WXUNUSED(pos)) : m_message(message), m_dir(defaultDir), - m_fileName(defaultFile) + m_fileName(defaultFile), + m_wildCard(wildCard) { m_parent = parent; m_dialogStyle = style; m_filterIndex = 0; - if ( wildCard.empty() ) + if ( wildCard.empty() || wildCard == wxFileSelectorDefaultWildcardStr ) { m_wildCard = wxString::Format(_("All files (%s)|%s"), wxFileSelectorDefaultWildcardStr, @@ -71,67 +72,25 @@ wxFileDialogBase::wxFileDialogBase(wxWindow *parent, m_wildCard = wxString::Format ( _("%s files (%s)|%s"), - m_wildCard.c_str() + nDot, - m_wildCard.c_str(), - m_wildCard.c_str() + wildCard.c_str() + nDot, + wildCard.c_str(), + wildCard.c_str() ); } } } +#if WXWIN_COMPATIBILITY_2_4 // Parses the filterStr, returning the number of filters. // Returns 0 if none or if there's a problem. // filterStr is in the form: "All files (*.*)|*.*|JPEG Files (*.jpeg)|*.jpg" - int wxFileDialogBase::ParseWildcard(const wxString& filterStr, wxArrayString& descriptions, wxArrayString& filters) { - descriptions.Clear(); - filters.Clear(); - - wxString str(filterStr); - - wxString description, filter; - for ( int pos = 0; pos != wxNOT_FOUND; ) - { - pos = str.Find(wxT('|')); - if ( pos == wxNOT_FOUND ) - { - // if there are no '|'s at all in the string just take the entire - // string as filter - if ( filters.IsEmpty() ) - { - descriptions.Add(filterStr); - filters.Add(filterStr); - } - else - { - wxFAIL_MSG( _T("missing '|' in the wildcard string!") ); - } - - break; - } - - description = str.Left(pos); - str = str.Mid(pos + 1); - pos = str.Find(wxT('|')); - if ( pos == wxNOT_FOUND ) - { - filter = str; - } - else - { - filter = str.Left(pos); - str = str.Mid(pos + 1); - } - - descriptions.Add(description); - filters.Add(filter); - } - - return filters.GetCount(); + return ::wxParseCommonDialogsFilter(filterStr, descriptions, filters); } +#endif // WXWIN_COMPATIBILITY_2_4 wxString wxFileDialogBase::AppendExtension(const wxString &filePath, const wxString &extensionList) @@ -216,7 +175,7 @@ wxString wxFileSelector(const wxChar *title, wxArrayString descriptions, filters; // don't care about errors, handled already by wxFileDialog - (void)wxFileDialogBase::ParseWildcard(filter2, descriptions, filters); + (void)wxParseCommonDialogsFilter(filter2, descriptions, filters); for (size_t n=0; n