// Created: 08.12.99
// RCS-ID: $Id$
// Copyright: (c) 1999 Stefan Csomor <csomor@advanced.ch>
-// Licence: wxWindows license
+// Licence: wxWindows licence
/////////////////////////////////////////////////////////////////////////////
// ============================================================================
const wxString& GetName() const { return m_dirname; }
private:
- CInfoPBRec m_CPB ;
- wxInt16 m_index ;
- long m_dirId ;
- Str255 m_name ;
- Boolean m_isDir ;
+ CInfoPBRec m_CPB ;
+ wxInt16 m_index ;
+ long m_dirId ;
+ Str255 m_name ;
+ Boolean m_isDir ;
wxString m_dirname;
wxString m_filespec;
FSRef theRef;
// get the FSRef associated with the POSIX path
- err = FSPathMakeRef((const UInt8 *) m_dirname, &theRef, NULL);
+ err = FSPathMakeRef((const UInt8 *) m_dirname.c_str(), &theRef, NULL);
FSGetVRefNum(&theRef, &(m_CPB.hFileInfo.ioVRefNum));
err = FSGetNodeID( &theRef , &m_dirId , &m_isDir ) ;
err = FSpGetDirectoryID( &fsspec , &m_dirId , &m_isDir ) ;
#endif
- wxASSERT_MSG( (err == noErr) || (err == nsvErr) , "Error accessing directory " + m_dirname) ;
+ wxASSERT_MSG( (err == noErr) || (err == nsvErr) , wxT("Error accessing directory " + m_dirname)) ;
m_CPB.hFileInfo.ioNamePtr = m_name ;
m_index = 0 ;
void wxDirData::Rewind()
{
- m_index = 0 ;
+ m_index = 0 ;
}
bool wxDirData::Read(wxString *filename)
{
if ( !m_isDir )
return FALSE ;
-
-#if TARGET_CARBON
- char c_name[256] ;
-#endif
+
wxString result;
short err = noErr ;
-
+
while ( err == noErr )
{
m_index++ ;
m_CPB.dirInfo.ioFDirIndex = m_index;
- m_CPB.dirInfo.ioDrDirID = m_dirId; /* we need to do this every time */
+ m_CPB.dirInfo.ioDrDirID = m_dirId; /* we need to do this every time */
err = PBGetCatInfoSync((CInfoPBPtr)&m_CPB);
if ( err != noErr )
break ;
-#if TARGET_CARBON
- p2cstrcpy( c_name, m_name ) ;
- strcpy( (char *)m_name, c_name);
-#else
- p2cstr( m_name ) ;
-#endif
// its hidden but we don't want it
if ( ( m_CPB.hFileInfo.ioFlFndrInfo.fdFlags & kIsInvisible ) && !(m_flags & wxDIR_HIDDEN) )
continue ;
#ifdef __DARWIN__
// under X, names that start with '.' are hidden
- if ( ( m_name[0] == '.' ) && !(m_flags & wxDIR_HIDDEN) )
+ if ( ( m_name[1] == '.' ) && !(m_flags & wxDIR_HIDDEN) )
continue;
#endif
#if TARGET_CARBON
if ( ( m_CPB.dirInfo.ioFlAttrib & ioDirMask) == 0 && !(m_flags & wxDIR_FILES ) )
continue ;
- wxString file( m_name ) ;
- if ( m_filespec.IsEmpty() || m_filespec == "*.*" || m_filespec == "*" )
+ wxString file = wxMacMakeStringFromPascal( m_name ) ;
+ if ( m_filespec.IsEmpty() || m_filespec == wxT("*.*") || m_filespec == wxT("*") )
{
}
- else if ( m_filespec.Length() > 1 && m_filespec.Left(1) =="*" )
+ else if ( m_filespec.Length() > 1 && m_filespec.Left(1) == wxT("*") )
{
if ( file.Right( m_filespec.Length() - 1 ).Upper() != m_filespec.Mid(1).Upper() )
{
continue ;
}
}
- else if ( m_filespec.Length() > 1 && m_filespec.Right(1) == "*" )
+ else if ( m_filespec.Length() > 1 && m_filespec.Right(1) == wxT("*") )
{
if ( file.Left( m_filespec.Length() - 1 ).Upper() != m_filespec.Left( m_filespec.Length() - 1 ).Upper() )
{
return FALSE ;
}
- *filename = (char*) m_name ;
+ *filename = wxMacMakeStringFromPascal( m_name ) ;
return TRUE;
}
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);
- }
+ name = M_DIR->GetName();
+ if ( !name.empty() && (name.Last() == _T('/')) )
+ {
+ // chop off the last (back)slash
+ name.Truncate(name.length() - 1);
+ }
}
return name;