X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/ff3e84ffdc91ee8a52b3ab646e48d44d62de80e1..5fa150e233fa449ee270ac26ecf074f5c40acb1e:/src/common/fldlgcmn.cpp diff --git a/src/common/fldlgcmn.cpp b/src/common/fldlgcmn.cpp index 76e8b882dc..adb37ede67 100644 --- a/src/common/fldlgcmn.cpp +++ b/src/common/fldlgcmn.cpp @@ -1,5 +1,5 @@ ///////////////////////////////////////////////////////////////////////////// -// Name: common/fldlgcmn.cpp +// Name: src/common/fldlgcmn.cpp // Purpose: wxFileDialog common functions // Author: John Labenski // Modified by: @@ -16,16 +16,16 @@ // For compilers that support precompilation, includes "wx.h". #include "wx/wxprec.h" +#if wxUSE_FILEDLG + +#include "wx/filedlg.h" + #ifndef WX_PRECOMP #include "wx/string.h" #include "wx/intl.h" #include "wx/window.h" #endif // WX_PRECOMP -#include "wx/filedlg.h" - -#if wxUSE_FILEDLG - //---------------------------------------------------------------------------- // wxFileDialogBase //---------------------------------------------------------------------------- @@ -57,16 +57,19 @@ bool wxFileDialogBase::Create(wxWindow *parent, m_windowStyle = style; m_filterIndex = 0; -#ifdef __WXDEBUG__ - // check the given styles - wxASSERT_MSG(HasFlag(wxFD_OPEN) || HasFlag(wxFD_SAVE), wxT("You must specify one of wxFD_OPEN and wxFD_SAVE styles")); - if (HasFlag(wxFD_SAVE)) - wxASSERT_MSG( !HasFlag(wxFD_OPEN) && !HasFlag(wxFD_MULTIPLE) && !HasFlag(wxFD_FILE_MUST_EXIST), - wxT("wxFileDialog - wxFD_OPEN, wxFD_MULTIPLE or wxFD_FILE_MUST_EXIST used on a save dialog" ) ); - if (HasFlag(wxFD_OPEN)) - wxASSERT_MSG( !HasFlag(wxFD_SAVE) && !HasFlag(wxFD_OVERWRITE_PROMPT), - wxT("wxFileDialog - wxFD_SAVE or wxFD_OVERWRITE_PROMPT used on a open dialog" ) ); -#endif + if (!HasFlag(wxFD_OPEN) && !HasFlag(wxFD_SAVE)) + m_windowStyle |= wxFD_OPEN; // wxFD_OPEN is the default + + // check that the styles are not contradictory + wxASSERT_MSG( !(HasFlag(wxFD_SAVE) && HasFlag(wxFD_OPEN)), + _T("can't specify both wxFD_SAVE and wxFD_OPEN at once") ); + + wxASSERT_MSG( !HasFlag(wxFD_SAVE) || + (!HasFlag(wxFD_MULTIPLE) && !HasFlag(wxFD_FILE_MUST_EXIST)), + _T("wxFD_MULTIPLE or wxFD_FILE_MUST_EXIST can't be used with wxFD_SAVE" ) ); + + wxASSERT_MSG( !HasFlag(wxFD_OPEN) || !HasFlag(wxFD_OVERWRITE_PROMPT), + _T("wxFD_OVERWRITE_PROMPT can't be used with wxFD_OPEN") ); if ( wildCard.empty() || wildCard == wxFileSelectorDefaultWildcardStr ) { @@ -118,7 +121,7 @@ wxString wxFileDialogBase::AppendExtension(const wxString &filePath, // if fileName is of form "foo.bar" it's ok, return it int idx_dot = fileName.Find(wxT('.'), true); - if ((idx_dot != wxNOT_FOUND) && (idx_dot < (int)fileName.Len() - 1)) + if ((idx_dot != wxNOT_FOUND) && (idx_dot < (int)fileName.length() - 1)) return filePath; // get the first extension from extensionList, or all of it @@ -126,7 +129,7 @@ wxString wxFileDialogBase::AppendExtension(const wxString &filePath, // if ext == "foo" or "foo." there's no extension int idx_ext_dot = ext.Find(wxT('.'), true); - if ((idx_ext_dot == wxNOT_FOUND) || (idx_ext_dot == (int)ext.Len() - 1)) + if ((idx_ext_dot == wxNOT_FOUND) || (idx_ext_dot == (int)ext.length() - 1)) return filePath; else ext = ext.AfterLast(wxT('.')); @@ -311,4 +314,3 @@ WXDLLEXPORT wxString wxSaveFileSelector(const wxChar *what, } #endif // wxUSE_FILEDLG -