1
0
Fork 0

One more Mac helper moved into CocoaHelpers.mm

This commit is contained in:
James Turner 2013-11-19 22:01:11 +00:00
parent 875227057c
commit 1f699984e9
3 changed files with 16 additions and 23 deletions

View file

@ -33,6 +33,7 @@
// flightgear // flightgear
#include <GUI/MessageBox.hxx> #include <GUI/MessageBox.hxx>
#include <Main/options.hxx> #include <Main/options.hxx>
#include <Main/locale.hxx>
NSString* stdStringToCocoa(const std::string& s) NSString* stdStringToCocoa(const std::string& s)
{ {
@ -138,3 +139,15 @@ std::string Options::platformDefaultRoot() const
} }
} // of namespace flightgear } // of namespace flightgear
string_list FGLocale::getUserLanguage()
{
CocoaAutoreleasePool ap;
string_list result;
for (NSString* lang in [NSLocale preferredLanguages]) {
result.push_back(stdStringFromCocoa(lang));
}
return result;
}

View file

@ -90,27 +90,7 @@ FGLocale::getUserLanguage()
return result; return result;
} }
#elif __APPLE__ #elif __APPLE__
// implemented in CocoaHelpers.mm
// determine locale / langauge on Mac
#include <CoreFoundation/CoreFoundation.h>
string_list
FGLocale::getUserLanguage()
{
string_list result;
CFArrayRef langs = CFLocaleCopyPreferredLanguages();
char buffer[64];
for (int i=0; i<CFArrayGetCount(langs); ++i) {
CFStringRef s = (CFStringRef) CFArrayGetValueAtIndex(langs, i);
CFStringGetCString(s, buffer, 64, kCFStringEncodingASCII);
result.push_back(buffer);
}
CFRelease(langs);
return result;
}
#else #else
/** /**
* Determine locale/language settings on Linux/Unix. * Determine locale/language settings on Linux/Unix.

View file

@ -2346,12 +2346,12 @@ string Options::platformDefaultRoot() const
return "../data"; return "../data";
} }
#elif defined(_WIN32) #elif defined(SG_WINDOWS)
string Options::platformDefaultRoot() const string Options::platformDefaultRoot() const
{ {
return "..\\data"; return "..\\data";
} }
#elif defined(__APPLE__) #elif defined(SG_MAC)
// platformDefaultRoot defined in CocoaHelpers.mm // platformDefaultRoot defined in CocoaHelpers.mm
#else #else
string Options::platformDefaultRoot() const string Options::platformDefaultRoot() const