]> git.saurik.com Git - wxWidgets.git/blobdiff - src/generic/dirctrlg.cpp
blind fix for wxGIFDecoder::ReadGIF
[wxWidgets.git] / src / generic / dirctrlg.cpp
index d878e874faab5f0f0014390798a91c23b9a96206..7df3852fe2a11d39f295a3f5426e6e887d883045 100644 (file)
 #pragma hdrstop
 #endif
 
 #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/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/textdlg.h"
 #include "wx/filefn.h"
 #include "wx/cmndata.h"
 
 #endif // __WXPM__
 
 
 #endif // __WXPM__
 
+#if defined(__WXMAC__)
+#  include "MoreFilesExtras.h"
+#endif
+
 #ifdef __BORLANDC__
 #include "dos.h"
 #endif
 #ifdef __BORLANDC__
 #include "dos.h"
 #endif
@@ -533,7 +538,7 @@ void wxGenericDirCtrl::SetupSections()
 {
 #if defined(__WXMSW__) || defined(__WXPM__)
 
 {
 #if defined(__WXMSW__) || defined(__WXPM__)
 
-#ifdef __WIN32__
+# ifdef __WIN32__
     wxChar driveBuffer[256];
     size_t n = (size_t) GetLogicalDriveStrings(255, driveBuffer);
     size_t i = 0;
     wxChar driveBuffer[256];
     size_t n = (size_t) GetLogicalDriveStrings(255, driveBuffer);
     size_t i = 0;
@@ -575,7 +580,7 @@ void wxGenericDirCtrl::SetupSections()
         if (driveBuffer[i] == wxT('\0'))
             break;
     }
         if (driveBuffer[i] == wxT('\0'))
             break;
     }
-#else
+# else
     int drive;
     int currentDrive;
 
     int drive;
     int currentDrive;
 
@@ -592,8 +597,18 @@ void wxGenericDirCtrl::SetupSections()
             AddSection(path, name);
         }
     }
             AddSection(path, name);
         }
     }
-#endif
-
+# endif
+#elif defined(__WXMAC__)
+    FSSpec volume ;
+    short index = 1 ;
+    while(1) {
+      short actualCount = 0 ;
+      if ( OnLine( &volume , 1 , &actualCount , &index ) != noErr || actualCount == 0 )
+        break ;
+
+      wxString name = wxMacFSSpec2MacFilename( &volume ) ;
+      AddSection(name + wxFILE_SEP_PATH, name, 0);
+    }
 #else
   AddSection(wxT("/"), _("The Computer"), 0);
   AddSection(wxGetHomeDir(), _("My Home"), 0 );
 #else
   AddSection(wxT("/"), _("The Computer"), 0);
   AddSection(wxGetHomeDir(), _("My Home"), 0 );
@@ -1060,8 +1075,8 @@ bool wxGenericDirCtrl::ExtractWildcard(const wxString& filterStr, int n, wxStrin
         description = descriptions[n];
         return TRUE;
     }
         description = descriptions[n];
         return TRUE;
     }
-    else
-        return FALSE;
+
+    return FALSE;
 }
 
 // Parses the global filter, returning the number of filters.
 }
 
 // Parses the global filter, returning the number of filters.
@@ -1386,3 +1401,5 @@ void wxGenericDirDialog::OnNew( wxCommandEvent& WXUNUSED(event) )
     m_dirCtrl->GetTreeCtrl()->EnsureVisible( new_id );
     m_dirCtrl->GetTreeCtrl()->EditLabel( new_id );
 }
     m_dirCtrl->GetTreeCtrl()->EnsureVisible( new_id );
     m_dirCtrl->GetTreeCtrl()->EditLabel( new_id );
 }
+
+#endif // wxUSE_DIRDLG