diff options
author | Konstantin Käfer <mail@kkaefer.com> | 2014-04-30 13:47:03 +0200 |
---|---|---|
committer | Konstantin Käfer <mail@kkaefer.com> | 2014-04-30 13:47:03 +0200 |
commit | 9bbdba9eab28c2ba44002bada4b3bb1c0962bd90 (patch) | |
tree | 4a56a077b8597395dd0f38c5ab9cb0c87862afa1 /common/settings_nsuserdefaults.mm | |
parent | e95ece83335b85ed063f8ea903acc71d5a2fb995 (diff) | |
download | qtlocation-mapboxgl-9bbdba9eab28c2ba44002bada4b3bb1c0962bd90.tar.gz |
remove concept of settings object from library
Diffstat (limited to 'common/settings_nsuserdefaults.mm')
-rw-r--r-- | common/settings_nsuserdefaults.mm | 41 |
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 |