]> git.saurik.com Git - wxWidgets.git/blobdiff - src/msw/filedlg.cpp
Removed conflict markers.
[wxWidgets.git] / src / msw / filedlg.cpp
index ac7478a9d8406a23f3578fbe7d601a781ba3a90d..0de0f976be9743e95cde64bff3785800ac8882aa 100644 (file)
@@ -5,7 +5,7 @@
 // Modified by:
 // Created:     01/02/97
 // RCS-ID:      $Id$
-// Copyright:   (c) Julian Smart and Markus Holzem
+// Copyright:   (c) Julian Smart
 // Licence:     wxWindows licence
 /////////////////////////////////////////////////////////////////////////////
 
@@ -35,6 +35,7 @@
     #include "wx/msgdlg.h"
     #include "wx/dialog.h"
     #include "wx/filedlg.h"
+    #include "wx/filefn.h"
     #include "wx/intl.h"
     #include "wx/log.h"
     #include "wx/app.h"
@@ -42,7 +43,7 @@
 
 #include "wx/msw/private.h"
 
-#if !defined(__WIN32__) || defined(__SALFORDC__) || defined(__WXWINE__)
+#if !defined(__WIN32__) || defined(__SALFORDC__)
     #include <commdlg.h>
 #endif
 
@@ -61,7 +62,7 @@
 // ----------------------------------------------------------------------------
 
 #ifdef __WIN32__
-# define wxMAXPATH   4096
+# define wxMAXPATH   65534
 #else
 # define wxMAXPATH   1024
 #endif
@@ -197,9 +198,13 @@ wxString wxFileSelectorEx(const wxChar *title,
     return filename;
 }
 
-wxFileDialog::wxFileDialog(wxWindow *parent, const wxString& message,
-        const wxString& defaultDir, const wxString& defaultFileName, const wxString& wildCard,
-        long style, const wxPoint& WXUNUSED(pos))
+wxFileDialog::wxFileDialog(wxWindow *parent,
+                           const wxString& message,
+                           const wxString& defaultDir,
+                           const wxString& defaultFileName,
+                           const wxString& wildCard,
+                           long style,
+                           const wxPoint& WXUNUSED(pos))
 {
     m_message = message;
     m_dialogStyle = style;
@@ -228,6 +233,14 @@ void wxFileDialog::GetPaths(wxArrayString& paths) const
     }
 }
 
+void wxFileDialog::SetPath(const wxString& path)
+{
+    wxString ext;
+    wxSplitPath(path, &m_dir, &m_fileName, &ext);
+    if ( !ext.empty() )
+        m_fileName << _T('.') << ext;
+}
+
 int wxFileDialog::ShowModal()
 {
     HWND hWnd = 0;
@@ -310,8 +323,11 @@ int wxFileDialog::ShowModal()
                     if ( chNext != _T('\\') && chNext != _T('/') )
                         break;
 
-                    // ignore the next one
-                    i++;
+                    // ignore the next one, unless it is at the start of a UNC path
+                    if (i > 0)
+                        i++;
+                    else
+                        break;    
                 }
                 // fall through