X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/17af82fb4c8f830f202567259472645c27724c32..0075ea227994861373b5b9ee0889e64bf079860b:/src/mac/corefoundation/stdpaths_cf.cpp diff --git a/src/mac/corefoundation/stdpaths_cf.cpp b/src/mac/corefoundation/stdpaths_cf.cpp index 2b2cf9cba0..fedc3982f0 100644 --- a/src/mac/corefoundation/stdpaths_cf.cpp +++ b/src/mac/corefoundation/stdpaths_cf.cpp @@ -31,7 +31,6 @@ #include "wx/mac/private.h" #endif #include "wx/mac/corefoundation/cfstring.h" -#include "wx/mac/private.h" #if defined(__DARWIN__) #include @@ -109,6 +108,7 @@ wxString wxStandardPathsCF::GetFromFunc(wxCFURLRef (*func)(wxCFBundleRef)) const wxString wxStandardPathsCF::GetDocumentsDir() const { +#ifdef __WXMAC__ return wxMacFindFolderNoSeparator ( #if TARGET_API_MAC_OSX @@ -119,6 +119,9 @@ wxString wxStandardPathsCF::GetDocumentsDir() const kDocumentsFolderType, kCreateFolder ); +#else + return wxFileName::GetHomeDir() + wxT("/Documents"); +#endif } // ---------------------------------------------------------------------------- @@ -148,6 +151,31 @@ wxString wxStandardPathsCF::GetDataDir() const return GetFromFunc(CFBundleCopySharedSupportURL); } +// TODO: implement this using real CoreFoundation API instead of Carbon API +wxString wxStandardPathsCF::GetExecutablePath() const +{ +#ifdef __WXMAC__ + ProcessInfoRec processinfo; + ProcessSerialNumber procno ; + FSSpec fsSpec; + + procno.highLongOfPSN = 0 ; + procno.lowLongOfPSN = kCurrentProcess ; + processinfo.processInfoLength = sizeof(ProcessInfoRec); + processinfo.processName = NULL; + processinfo.processAppSpec = &fsSpec; + + GetProcessInformation( &procno , &processinfo ) ; +#ifdef __LP64__ + return wxMacFSRefToPath(&fsRef); +#else + return wxMacFSSpec2MacFilename(&fsSpec); +#endif +#else + return wxStandardPathsBase::GetExecutablePath(); +#endif +} + wxString wxStandardPathsCF::GetLocalDataDir() const { #ifdef __WXMAC__ @@ -177,7 +205,7 @@ wxString wxStandardPathsCF::GetResourcesDir() const } wxString -wxStandardPathsCF::GetLocalizedResourcesDir(const wxChar *lang, +wxStandardPathsCF::GetLocalizedResourcesDir(const wxString& lang, ResourceCat category) const { return wxStandardPathsBase::