]> git.saurik.com Git - wxWidgets.git/blobdiff - src/msw/wince/filedlgwce.cpp
Fixed filename in wxOSX-Cocoa's file dialog using extension of wrong file type.
[wxWidgets.git] / src / msw / wince / filedlgwce.cpp
index 8422c3f016b9a1acb755198a8b327af0648a4c7f..6ad061639eb1a1dcbd6e804c2cd53fa769ea8b6b 100644 (file)
@@ -1,12 +1,12 @@
 /////////////////////////////////////////////////////////////////////////////
 // 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
 // RCS-ID:      $Id$
 // Copyright:   (c) Julian Smart
-// Licence:     wxWidgets licence
+// Licence:     wxWindows licence
 /////////////////////////////////////////////////////////////////////////////
 
 // ============================================================================
 // 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"
 
 // 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"
@@ -71,12 +68,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 +89,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,9 +105,9 @@ 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()
@@ -116,18 +115,14 @@ int wxFileDialog::ShowModal()
     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 +130,4 @@ void wxFileDialog::GetFilenames(wxArrayString& files) const
     files = m_fileNames;
 }
 
-#endif // wxUSE_FILEDLG
-
+#endif // wxUSE_FILEDLG && __SMARTPHONE__ && __WXWINCE__