X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/6670f56440ae9209b3e2e51e06acf3bc5aaf1905..04fa04d8067d235ab45b5bc05b65f0679634b541:/src/os2/filedlg.cpp diff --git a/src/os2/filedlg.cpp b/src/os2/filedlg.cpp index eb13f40443..f4fc9da6f1 100644 --- a/src/os2/filedlg.cpp +++ b/src/os2/filedlg.cpp @@ -1,5 +1,5 @@ ///////////////////////////////////////////////////////////////////////////// -// Name: filedlg.cpp +// Name: src/os2/filedlg.cpp // Purpose: wxFileDialog // Author: David Webster // Modified by: @@ -18,10 +18,12 @@ #if wxUSE_FILEDLG +#include "wx/filedlg.h" + #ifndef WX_PRECOMP #include "wx/utils.h" #include "wx/msgdlg.h" - #include "wx/filedlg.h" + #include "wx/filename.h" #include "wx/intl.h" #include "wx/log.h" #include "wx/app.h" @@ -71,13 +73,14 @@ wxFileDialog::wxFileDialog ( , const wxString& rsDefaultFileName , const wxString& rsWildCard , long lStyle -, const wxPoint& rPos +, const wxPoint& rPos, + const wxSize& sz, + const wxString& name ) - :wxFileDialogBase(pParent, rsMessage, rsDefaultDir, rsDefaultFileName, rsWildCard, lStyle, rPos) + :wxFileDialogBase(pParent, rsMessage, rsDefaultDir, rsDefaultFileName, rsWildCard, lStyle, rPos, sz, name) { - if ((m_dialogStyle & wxMULTIPLE) && (m_dialogStyle & wxSAVE)) - m_dialogStyle &= ~wxMULTIPLE; + // NB: all style checks are done by wxFileDialogBase::Create m_filterIndex = 1; } // end of wxFileDialog::wxFileDialog @@ -90,8 +93,8 @@ void wxFileDialog::GetPaths ( size_t nCount = m_fileNames.GetCount(); rasPaths.Empty(); - if (m_dir.Last() != _T('\\')) - sDir += _T('\\'); + if (m_dir.Last() != wxT('\\')) + sDir += wxT('\\'); for ( size_t n = 0; n < nCount; n++ ) { @@ -124,19 +127,14 @@ int wxFileDialog::ShowModal() *zFileNameBuffer = wxT('\0'); *zTitleBuffer = wxT('\0'); - if (m_dialogStyle & wxSAVE) + if (m_windowStyle & wxFD_SAVE) lFlags = FDS_SAVEAS_DIALOG; else lFlags = FDS_OPEN_DIALOG; -#if WXWIN_COMPATIBILITY_2_4 - if (m_dialogStyle & wxHIDE_READONLY) + if (m_windowStyle & wxFD_SAVE) lFlags |= FDS_SAVEAS_DIALOG; -#endif - - if (m_dialogStyle & wxSAVE) - lFlags |= FDS_SAVEAS_DIALOG; - if (m_dialogStyle & wxMULTIPLE ) + if (m_windowStyle & wxFD_MULTIPLE) lFlags |= FDS_OPEN_DIALOG | FDS_MULTIPLESEL; vFileDlg.cbSize = sizeof(FILEDLG); @@ -155,21 +153,21 @@ int wxFileDialog::ShowModal() switch (ch) { - case _T('/'): + case wxT('/'): // // Convert to backslash // - ch = _T('\\'); + ch = wxT('\\'); // // Fall through // - case _T('\\'): + case wxT('\\'): while (i < nLen - 1) { wxChar chNext = m_dir[i + 1]; - if (chNext != _T('\\') && chNext != _T('/')) + if (chNext != wxT('\\') && chNext != wxT('/')) break; // @@ -196,7 +194,7 @@ int wxFileDialog::ShowModal() else sTheFilter = m_wildCard; - wxStrtok((wxChar*)sTheFilter.c_str(), wxT("|"), &pzFilterBuffer); + wxStrtok(sTheFilter.wchar_str(), wxT("|"), &pzFilterBuffer); while(pzFilterBuffer != NULL) { if (nCount > 0 && !(nCount % 2)) @@ -222,7 +220,7 @@ int wxFileDialog::ShowModal() if (hWnd && vFileDlg.lReturn == DID_OK) { m_fileNames.Empty(); - if ((m_dialogStyle & wxMULTIPLE ) && vFileDlg.ulFQFCount > 1) + if ((m_windowStyle & wxFD_MULTIPLE ) && vFileDlg.ulFQFCount > 1) { for (int i = 0; i < (int)vFileDlg.ulFQFCount; i++) { @@ -236,7 +234,7 @@ int wxFileDialog::ShowModal() } ::WinFreeFileDlgList(vFileDlg.papszFQFilename); } - else if (!(m_dialogStyle & wxSAVE)) + else if (!(m_windowStyle & wxFD_SAVE)) { m_path = (wxChar*)vFileDlg.szFullFile; m_fileName = wxFileNameFromPath(wxString((const wxChar*)vFileDlg.szFullFile)); @@ -251,11 +249,11 @@ int wxFileDialog::ShowModal() int nIdx = wxStrlen(zFileNameBuffer) - 1; wxString sExt; - wxSplitPath( zFileNameBuffer - ,&m_path - ,&m_fileName - ,&sExt - ); + wxFileName::SplitPath( zFileNameBuffer + ,&m_path + ,&m_fileName + ,&sExt + ); if (zFileNameBuffer[nIdx] == wxT('.') || sExt.empty()) { zFileNameBuffer[nIdx] = wxT('\0'); @@ -299,10 +297,10 @@ int wxFileDialog::ShowModal() m_dir = wxPathOnly((const wxChar*)vFileDlg.szFullFile); // - // === Simulating the wxOVERWRITE_PROMPT >>============================ + // === Simulating the wxFD_OVERWRITE_PROMPT >>============================ // - if ((m_dialogStyle & wxOVERWRITE_PROMPT) && - (m_dialogStyle & wxSAVE) && + if ((m_windowStyle & wxFD_OVERWRITE_PROMPT) && + (m_windowStyle & wxFD_SAVE) && (wxFileExists(m_path.c_str()))) { wxString sMessageText;