]> git.saurik.com Git - wxWidgets.git/blobdiff - src/mac/corefoundation/stdpaths_cf.cpp
added wxWindow::GetPrev/NextSibling()
[wxWidgets.git] / src / mac / corefoundation / stdpaths_cf.cpp
index bd254964adfdfeffd2ec50bf864940084d3c6bf8..eeaa7453e522496f095ffbce38827a150b6eabd2 100644 (file)
 #endif
 #include "wx/mac/corefoundation/cfstring.h"
 
-#if defined(__DARWIN__)
 #include <CoreFoundation/CFBundle.h>
 #include <CoreFoundation/CFURL.h>
-#else
-#include <CFBundle.h>
-#include <CFURL.h>
-#endif
 
-#if defined(__WXCOCOA__) || defined(__WXMAC_OSX__)
 #define kDefaultPathStyle kCFURLPOSIXPathStyle
-#else
-#define kDefaultPathStyle kCFURLHFSPathStyle
-#endif
 
 // ============================================================================
 // implementation
@@ -58,12 +49,14 @@ wxStandardPathsCF::wxStandardPathsCF()
                  : m_bundle(CFBundleGetMainBundle())
 {
     CFRetain(m_bundle);
+    UseAppInfo(AppInfo_AppName | AppInfo_VendorName);
 }
 
 wxStandardPathsCF::wxStandardPathsCF(wxCFBundleRef bundle)
                  : m_bundle(bundle)
 {
     CFRetain(m_bundle);
+    UseAppInfo(AppInfo_AppName | AppInfo_VendorName);
 }
 
 wxStandardPathsCF::~wxStandardPathsCF()
@@ -151,8 +144,10 @@ 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;
@@ -164,24 +159,31 @@ wxString wxStandardPathsCF::GetExecutablePath() const
     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__
-    return AppendAppName(wxMacFindFolder((short)kLocalDomain, kApplicationSupportFolderType, kCreateFolder));
+    return AppendAppInfo(wxMacFindFolder((short)kLocalDomain, kApplicationSupportFolderType, kCreateFolder));
 #else
-    return AppendAppName(wxT("/Library/Application Support"));
+    return AppendAppInfo(wxT("/Library/Application Support"));
 #endif
 }
 
 wxString wxStandardPathsCF::GetUserDataDir() const
 {
 #ifdef __WXMAC__
-    return AppendAppName(wxMacFindFolder((short)kUserDomain, kApplicationSupportFolderType, kCreateFolder));
+    return AppendAppInfo(wxMacFindFolder((short)kUserDomain, kApplicationSupportFolderType, kCreateFolder));
 #else
-    return AppendAppName(wxFileName::GetHomeDir() + _T("/Library/Application Support"));
+    return AppendAppInfo(wxFileName::GetHomeDir() + _T("/Library/Application Support"));
 #endif
 }
 
@@ -196,7 +198,7 @@ wxString wxStandardPathsCF::GetResourcesDir() const
 }
 
 wxString
-wxStandardPathsCF::GetLocalizedResourcesDir(const wxChar *lang,
+wxStandardPathsCF::GetLocalizedResourcesDir(const wxString& lang,
                                             ResourceCat category) const
 {
     return wxStandardPathsBase::