#include <string.h>
#include <stdarg.h>
+#include "MoreFiles.h"
+#include "MoreFilesExtras.h"
+
#ifndef __DARWIN__
// defined in unix/utilsunx.cpp for Mac OS X
return (wxBusyCursorCount > 0);
}
-#ifndef __DARWIN__
wxString wxMacFindFolder( short vol,
OSType folderType,
Boolean createFolder)
}
return strDir ;
}
-#endif
#ifndef __DARWIN__
char *wxGetUserHome (const wxString& user)
}
#endif
+bool wxGetDiskSpace(const wxString& path, wxLongLong *pTotal, wxLongLong *pFree)
+{
+ if ( path.empty() )
+ return FALSE;
+
+ wxString p = path ;
+ if (p[0] == ':' ) {
+ p = wxGetCwd() + p ;
+ }
+
+ int pos = p.Find(':') ;
+ if ( pos != wxNOT_FOUND ) {
+ p = p.Mid(1,pos) ;
+ }
+
+ p = p + ":" ;
+
+ Str255 volumeName ;
+ XVolumeParam pb ;
+
+ wxMacStringToPascal( p , volumeName ) ;
+ OSErr err = XGetVolumeInfoNoName( volumeName , 0 , &pb ) ;
+ if ( err == noErr ) {
+ if ( pTotal ) {
+ (*pTotal) = wxLongLong( pb.ioVTotalBytes ) ;
+ }
+ if ( pFree ) {
+ (*pFree) = wxLongLong( pb.ioVFreeBytes ) ;
+ }
+ }
+
+ return err == noErr ;
+}
+
// Check whether this window wants to process messages, e.g. Stop button
// in long calculations.
bool wxCheckForInterrupt(wxWindow *wnd)