diff options
Diffstat (limited to 'macosx')
-rw-r--r-- | macosx/llmr-app.gyp | 4 | ||||
-rw-r--r-- | macosx/main.mm | 27 | ||||
-rw-r--r-- | macosx/settings.hpp | 19 | ||||
-rw-r--r-- | macosx/settings.mm | 44 |
4 files changed, 21 insertions, 73 deletions
diff --git a/macosx/llmr-app.gyp b/macosx/llmr-app.gyp index b6a42c91c9..560b223009 100644 --- a/macosx/llmr-app.gyp +++ b/macosx/llmr-app.gyp @@ -10,8 +10,8 @@ 'type': 'executable', 'sources': [ './main.mm', - './settings.mm', - './settings.hpp', + '../common/settings_nsuserdefaults.hpp', + '../common/settings_nsuserdefaults.mm', '../common/glfw_view.hpp', '../common/glfw_view.cpp', '../common/foundation_request.h', diff --git a/macosx/main.mm b/macosx/main.mm index 8d2b0d8ce9..4347a7ce86 100644 --- a/macosx/main.mm +++ b/macosx/main.mm @@ -1,14 +1,25 @@ -// #import <Foundation/Foundation.h> -// #import <AppKit/AppKit.h> - -#include "settings.hpp" +#include "../common/settings_nsuserdefaults.hpp" #include "../common/glfw_view.hpp" int main() { - llmr::Settings_MacOSX settings; - MapView view(settings); - view.init(); + GLFWView view; + llmr::Map map(view); + + // Load settings + llmr::Settings_NSUserDefaults settings; + map.setLonLatZoom(settings.longitude, settings.latitude, settings.zoom); + map.setAngle(settings.angle); + map.setDebug(settings.debug); + + // fprintf(stderr, "lon: %f, lat: %f, zoom: %f, angle: %f, debug: %d\n", settings.l) + int ret = view.run(); - settings.sync(); + + // Save settings + map.getLonLatZoom(settings.longitude, settings.latitude, settings.zoom); + settings.angle = map.getAngle(); + settings.debug = map.getDebug(); + settings.save(); + return ret; } diff --git a/macosx/settings.hpp b/macosx/settings.hpp deleted file mode 100644 index e507c6bd17..0000000000 --- a/macosx/settings.hpp +++ /dev/null @@ -1,19 +0,0 @@ -#ifndef LLMR_MACOSX_SETTINGS -#define LLMR_MACOSX_SETTINGS - -#include <llmr/map/settings.hpp> - -namespace llmr { - -class Settings_MacOSX : public Settings { -public: - Settings_MacOSX(); - virtual void load(); - virtual void persist(); - virtual void sync(); - virtual void clear(); -}; - -} - -#endif diff --git a/macosx/settings.mm b/macosx/settings.mm deleted file mode 100644 index 59091241e2..0000000000 --- a/macosx/settings.mm +++ /dev/null @@ -1,44 +0,0 @@ -#import <Foundation/Foundation.h> - -#include "settings.hpp" - -using namespace llmr; - -Settings_MacOSX::Settings_MacOSX() -{ - [[NSUserDefaults standardUserDefaults] registerDefaults:@{ @"longitude" : @(longitude), - @"latitude" : @(latitude), - @"scale" : @(scale), - @"angle" : @(angle), - @"debug" : @(debug) }]; -} - -void Settings_MacOSX::load() -{ - NSDictionary *settings = [[NSUserDefaults standardUserDefaults] dictionaryRepresentation]; - - longitude = [settings[@"longitude"] doubleValue]; - latitude = [settings[@"latitude"] doubleValue]; - scale = [settings[@"scale"] doubleValue]; - angle = [settings[@"angle"] doubleValue]; - debug = [settings[@"debug"] boolValue]; -} - -void Settings_MacOSX::persist() -{ - [[NSUserDefaults standardUserDefaults] setValuesForKeysWithDictionary:@{ @"longitude" : @(longitude), - @"latitude" : @(latitude), - @"scale" : @(scale), - @"angle" : @(angle), - @"debug" : @(debug) }]; -} - -void Settings_MacOSX::sync() -{ - [[NSUserDefaults standardUserDefaults] synchronize]; -} - -void Settings_MacOSX::clear() -{ - [NSUserDefaults resetStandardUserDefaults]; -}
\ No newline at end of file |