#include <string>
// OS
-#include <Cocoa/Cocoa.h>
+
#include <Foundation/NSAutoreleasePool.h>
+#include <Foundation/NSURL.h>
+#include <Foundation/NSFileManager.h>
+#include <Foundation/NSBundle.h>
+#include <Foundation/NSLocale.h>
+#include <AppKit/NSAlert.h>
// simgear
#include <simgear/misc/sg_path.hxx>
// flightgear
#include <GUI/MessageBox.hxx>
+#include <Main/options.hxx>
+#include <Main/locale.hxx>
NSString* stdStringToCocoa(const std::string& s)
{
appData.append("FlightGear");
return appData;
}
+
+namespace flightgear
+{
+
+std::string Options::platformDefaultRoot() const
+{
+ CocoaAutoreleasePool ap;
+
+ NSURL* url = [[NSBundle mainBundle] resourceURL];
+ SGPath dataDir(URLToPath(url));
+ dataDir.append("data");
+ return dataDir.str();
+}
+
+} // 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;
+}
+
+void transformToForegroundApp()
+{
+ ProcessSerialNumber sn = { 0, kCurrentProcess };
+ TransformProcessType(&sn,kProcessTransformToForegroundApplication);
+
+
+ [[NSApplication sharedApplication] activateIgnoringOtherApps: YES];
+}