summaryrefslogtreecommitdiff
path: root/common/settings_nsuserdefaults.mm
diff options
context:
space:
mode:
authorKonstantin Käfer <mail@kkaefer.com>2014-04-30 13:47:03 +0200
committerKonstantin Käfer <mail@kkaefer.com>2014-04-30 13:47:03 +0200
commit9bbdba9eab28c2ba44002bada4b3bb1c0962bd90 (patch)
tree4a56a077b8597395dd0f38c5ab9cb0c87862afa1 /common/settings_nsuserdefaults.mm
parente95ece83335b85ed063f8ea903acc71d5a2fb995 (diff)
downloadqtlocation-mapboxgl-9bbdba9eab28c2ba44002bada4b3bb1c0962bd90.tar.gz
remove concept of settings object from library
Diffstat (limited to 'common/settings_nsuserdefaults.mm')
-rw-r--r--common/settings_nsuserdefaults.mm41
1 files changed, 41 insertions, 0 deletions
diff --git a/common/settings_nsuserdefaults.mm b/common/settings_nsuserdefaults.mm
new file mode 100644
index 0000000000..783aa500d0
--- /dev/null
+++ b/common/settings_nsuserdefaults.mm
@@ -0,0 +1,41 @@
+#import <Foundation/Foundation.h>
+
+#include "settings_nsuserdefaults.hpp"
+
+using namespace llmr;
+
+Settings_NSUserDefaults::Settings_NSUserDefaults()
+{
+ [[NSUserDefaults standardUserDefaults] registerDefaults:@{ @"longitude" : @(longitude),
+ @"latitude" : @(latitude),
+ @"zoom" : @(zoom),
+ @"angle" : @(angle),
+ @"debug" : @(debug) }];
+ load();
+}
+
+void Settings_NSUserDefaults::load()
+{
+ NSDictionary *settings = [[NSUserDefaults standardUserDefaults] dictionaryRepresentation];
+
+ longitude = [settings[@"longitude"] doubleValue];
+ latitude = [settings[@"latitude"] doubleValue];
+ zoom = [settings[@"zoom"] doubleValue];
+ angle = [settings[@"angle"] doubleValue];
+ debug = [settings[@"debug"] boolValue];
+}
+
+void Settings_NSUserDefaults::save()
+{
+ [[NSUserDefaults standardUserDefaults] setValuesForKeysWithDictionary:@{ @"longitude" : @(longitude),
+ @"latitude" : @(latitude),
+ @"zoom" : @(zoom),
+ @"angle" : @(angle),
+ @"debug" : @(debug) }];
+ [[NSUserDefaults standardUserDefaults] synchronize];
+}
+
+void Settings_NSUserDefaults::clear()
+{
+ [NSUserDefaults resetStandardUserDefaults];
+} \ No newline at end of file