X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/d7da7f13eb27c6416b13aab8af4a7431a9ed1d67..12bb29f5432174ecbd65549bda832d70d34a98ae:/src/msw/wince/filedlgwce.cpp diff --git a/src/msw/wince/filedlgwce.cpp b/src/msw/wince/filedlgwce.cpp index bb0a24773b..66abfd1629 100644 --- a/src/msw/wince/filedlgwce.cpp +++ b/src/msw/wince/filedlgwce.cpp @@ -1,6 +1,6 @@ ///////////////////////////////////////////////////////////////////////////// // Name: src/msw/wince/filedlgwce.cpp -// Purpose: wxFileDialog for WinCE (SmartPhone) +// Purpose: wxFileDialog implementation for smart phones driven by WinCE // Author: Julian Smart // Modified by: // Created: 01/02/97 @@ -17,10 +17,6 @@ // headers // ---------------------------------------------------------------------------- -#if defined(__GNUG__) && !defined(NO_GCC_PRAGMA) - #pragma implementation "filedlg.h" -#endif - // For compilers that support precompilation, includes "wx.h". #include "wx/wxprec.h" @@ -31,13 +27,14 @@ // Only use this for MS SmartPhone. Use standard file dialog // for Pocket PC. -#if wxUSE_FILEDLG && defined(__SMARTPHONE__) +#if wxUSE_FILEDLG && defined(__SMARTPHONE__) && defined(__WXWINCE__) + +#include "wx/filedlg.h" #ifndef WX_PRECOMP #include "wx/utils.h" #include "wx/msgdlg.h" #include "wx/dialog.h" - #include "wx/filedlg.h" #include "wx/filefn.h" #include "wx/intl.h" #include "wx/log.h" @@ -50,6 +47,7 @@ #include #include "wx/filename.h" +#include "wx/modalhook.h" // ============================================================================ // implementation @@ -71,12 +69,14 @@ wxFileDialog::wxFileDialog(wxWindow *parent, const wxString& defaultFileName, const wxString& wildCard, long style, - const wxPoint& WXUNUSED(pos)) + const wxPoint& WXUNUSED(pos), + const wxSize& WXUNUSED(sz), + const wxString& WXUNUSED(name)) { m_message = message; - m_dialogStyle = style; - if ( ( m_dialogStyle & wxMULTIPLE ) && ( m_dialogStyle & wxSAVE ) ) - m_dialogStyle &= ~wxMULTIPLE; + m_windowStyle = style; + if ( ( m_windowStyle & wxFD_MULTIPLE ) && ( m_windowStyle & wxFD_SAVE ) ) + m_windowStyle &= ~wxFD_MULTIPLE; m_parent = parent; m_path = wxEmptyString; m_fileName = defaultFileName; @@ -90,8 +90,8 @@ void wxFileDialog::GetPaths(wxArrayString& paths) const paths.Empty(); wxString dir(m_dir); - if ( m_dir.Last() != _T('\\') ) - dir += _T('\\'); + if ( m_dir.Last() != wxT('\\') ) + dir += wxT('\\'); size_t count = m_fileNames.GetCount(); for ( size_t n = 0; n < count; n++ ) @@ -106,28 +106,26 @@ void wxFileDialog::GetPaths(wxArrayString& paths) const void wxFileDialog::SetPath(const wxString& path) { wxString ext; - wxSplitPath(path, &m_dir, &m_fileName, &ext); + wxFileName::SplitPath(path, &m_dir, &m_fileName, &ext); if ( !ext.empty() ) - m_fileName << _T('.') << ext; + m_fileName << wxT('.') << ext; } int wxFileDialog::ShowModal() { + WX_HOOK_MODAL_DIALOG(); + wxWindow* parentWindow = GetParent(); if (!parentWindow) parentWindow = wxTheApp->GetTopWindow(); - + wxString str = wxGetTextFromUser(m_message, _("File"), m_fileName, parentWindow); - if (str) - { - m_fileName = str; - m_fileNames.Add(str); - return wxID_OK; - } - else - { + if (str.empty()) return wxID_CANCEL; - } + + m_fileName = str; + m_fileNames.Add(str); + return wxID_OK; } void wxFileDialog::GetFilenames(wxArrayString& files) const @@ -135,5 +133,4 @@ void wxFileDialog::GetFilenames(wxArrayString& files) const files = m_fileNames; } -#endif // wxUSE_FILEDLG - +#endif // wxUSE_FILEDLG && __SMARTPHONE__ && __WXWINCE__