]> git.saurik.com Git - wxWidgets.git/blobdiff - src/generic/dirctrlg.cpp
removed conditional for Apple DevTools now that mac headers are not included
[wxWidgets.git] / src / generic / dirctrlg.cpp
index eb535c74c7eeb880d435c65e41f8b3d82e871cf1..b9132708e18a289557d6c85b1dd019e9856a0363 100644 (file)
 #pragma hdrstop
 #endif
 
-#include "wx/defs.h"
+#if wxUSE_DIRDLG
 
 #include "wx/utils.h"
 #include "wx/dialog.h"
 #include "wx/button.h"
 #include "wx/layout.h"
 #include "wx/msgdlg.h"
+#include "wx/textctrl.h"
 #include "wx/textdlg.h"
 #include "wx/filefn.h"
 #include "wx/cmndata.h"
 
 #include "wx/generic/dirctrlg.h"
 
+#if defined(__WXMAC__)
+  #include  "wx/mac/private.h"  // includes mac headers
+#endif
+
 #ifdef __WXMSW__
 #include <windows.h>
 
-#ifndef __GNUWIN32__
-#include <direct.h>
-#include <stdlib.h>
-#include <ctype.h>
+// FIXME - Mingw32 1.0 has both _getdrive() and _chdrive(). For now, let's assume
+//         older releases don't, but it should be verified and the checks modified
+//         accordingly.
+#if !defined(__GNUWIN32__) || \
+    (defined(__MINGW32_MAJOR_VERSION) && __MINGW32_MAJOR_VERSION >= 1)
+  #include <direct.h>
+  #include <stdlib.h>
+  #include <ctype.h>
 #endif
 
 #endif
@@ -67,8 +76,8 @@
 
 #endif // __WXPM__
 
-#ifdef __WXMAC__
-#include "moreextr.h"
+#if defined(__WXMAC__)
+#  include "MoreFilesExtras.h"
 #endif
 
 #ifdef __BORLANDC__
@@ -309,9 +318,13 @@ static const int ID_CANCEL = 1003;
 static const int ID_NEW = 1004;
 //static const int ID_CHECK = 1005;
 
-#if defined(__WXMSW__) || defined(__WXPM__)
+#if defined(__WXMSW__) || defined(__WXPM__) || defined(__DOS__)
 int setdrive(int drive)
 {
+#if defined(__GNUWIN32__) && \
+    (defined(__MINGW32_MAJOR_VERSION) && __MINGW32_MAJOR_VERSION >= 1)
+    return _chdrive(drive);
+#else
        wxChar  newdrive[3];
 
        if (drive < 1 || drive > 31)
@@ -332,6 +345,7 @@ int setdrive(int drive)
                return 0;
        else
                return -1;
+#endif // !GNUWIN32
 }
 
 static bool wxIsDriveAvailable(const wxString dirName)
@@ -346,7 +360,8 @@ static bool wxIsDriveAvailable(const wxString dirName)
     if (dirName.Len() == 3 && dirName[(size_t)1] == wxT(':'))
     {
         wxString dirNameLower(dirName.Lower());
-#if defined(__GNUWIN32__)
+#if defined(__GNUWIN32__) && \
+    !(defined(__MINGW32_MAJOR_VERSION) && __MINGW32_MAJOR_VERSION >= 1)
         success = wxPathExists(dirNameLower);
 #else
         int currentDrive = _getdrive();
@@ -537,7 +552,7 @@ void wxGenericDirCtrl::SetupSections()
 {
 #if defined(__WXMSW__) || defined(__WXPM__)
 
-#ifdef __WIN32__
+# ifdef __WIN32__
     wxChar driveBuffer[256];
     size_t n = (size_t) GetLogicalDriveStrings(255, driveBuffer);
     size_t i = 0;
@@ -579,7 +594,7 @@ void wxGenericDirCtrl::SetupSections()
         if (driveBuffer[i] == wxT('\0'))
             break;
     }
-#else
+# else
     int drive;
     int currentDrive;
 
@@ -596,7 +611,7 @@ void wxGenericDirCtrl::SetupSections()
             AddSection(path, name);
         }
     }
-#endif
+# endif
 #elif defined(__WXMAC__)
     FSSpec volume ;
     short index = 1 ;
@@ -606,7 +621,7 @@ void wxGenericDirCtrl::SetupSections()
         break ;
 
       wxString name = wxMacFSSpec2MacFilename( &volume ) ;
-      AddSection(name+":", name, 0);
+      AddSection(name + wxFILE_SEP_PATH, name, 0);
     }
 #else
   AddSection(wxT("/"), _("The Computer"), 0);
@@ -1074,8 +1089,8 @@ bool wxGenericDirCtrl::ExtractWildcard(const wxString& filterStr, int n, wxStrin
         description = descriptions[n];
         return TRUE;
     }
-    else
-        return FALSE;
+
+    return FALSE;
 }
 
 // Parses the global filter, returning the number of filters.
@@ -1400,3 +1415,5 @@ void wxGenericDirDialog::OnNew( wxCommandEvent& WXUNUSED(event) )
     m_dirCtrl->GetTreeCtrl()->EnsureVisible( new_id );
     m_dirCtrl->GetTreeCtrl()->EditLabel( new_id );
 }
+
+#endif // wxUSE_DIRDLG