]> git.saurik.com Git - wxWidgets.git/blobdiff - src/mac/carbon/dirmac.cpp
adjusted for new visible region code
[wxWidgets.git] / src / mac / carbon / dirmac.cpp
index e37f079382775a1b9c33eec893a53c7b5efd6290..5aed922f84dbdff17f665c032c7042991b011974 100644 (file)
 #include "wx/dir.h"
 #include "wx/filefn.h"          // for wxPathExists()
 
 #include "wx/dir.h"
 #include "wx/filefn.h"          // for wxPathExists()
 
-#ifndef __WXMAC_X__
+#ifndef __DARWIN__
   #include <windows.h>
 #endif
 
   #include <windows.h>
 #endif
 
-#if defined(__WXMAC__) && !defined(__UNIX__)
-  #include "morefile.h"
-  #include "moreextr.h"
-  #include "fullpath.h"
-  #include "fspcompa.h"
-#endif
+#include "MoreFiles.h"
+#include "MoreFilesExtras.h"
 
 // ----------------------------------------------------------------------------
 // constants
 
 // ----------------------------------------------------------------------------
 // constants
@@ -78,6 +74,8 @@ public:
     bool Read(wxString *filename); // reads the next 
     void Rewind() ;
 
     bool Read(wxString *filename); // reads the next 
     void Rewind() ;
 
+    const wxString& GetName() const { return m_dirname; }
+
 private:
        CInfoPBRec                      m_CPB ;
        wxInt16                         m_index ;
 private:
        CInfoPBRec                      m_CPB ;
        wxInt16                         m_index ;
@@ -113,16 +111,12 @@ wxDirData::wxDirData(const wxString& dirname)
 
        FSSpec fsspec ;
 
 
        FSSpec fsspec ;
 
-       wxUnixFilename2FSSpec( m_dirname , &fsspec ) ;
+       wxMacFilename2FSSpec( m_dirname , &fsspec ) ;
        m_CPB.hFileInfo.ioVRefNum = fsspec.vRefNum ;
        m_CPB.hFileInfo.ioNamePtr = m_name ;
        m_index = 0 ;
 
        m_CPB.hFileInfo.ioVRefNum = fsspec.vRefNum ;
        m_CPB.hFileInfo.ioNamePtr = m_name ;
        m_index = 0 ;
 
-#ifdef __WXMAC_X__
-       // TODO: what are we supposed to do for Mac OS X
-#else
        FSpGetDirectoryID( &fsspec , &m_dirId , &m_isDir ) ;
        FSpGetDirectoryID( &fsspec , &m_dirId , &m_isDir ) ;
-#endif
 }
 
 wxDirData::~wxDirData()
 }
 
 wxDirData::~wxDirData()
@@ -239,6 +233,22 @@ bool wxDir::IsOpened() const
     return m_data != NULL;
 }
 
     return m_data != NULL;
 }
 
+wxString wxDir::GetName() const
+{
+    wxString name;
+    if ( m_data )
+    {
+       name = M_DIR->GetName();
+       if ( !name.empty() && (name.Last() == _T('/')) )
+       {
+           // chop off the last (back)slash
+           name.Truncate(name.length() - 1);
+       }
+    }
+
+    return name;
+}
+
 wxDir::~wxDir()
 {
     delete M_DIR;
 wxDir::~wxDir()
 {
     delete M_DIR;