Files
MapLibreParticleLab/macosx/settings.mm
Justin R. Miller 257ccd16bb clean up settings mechanism (fixes #9 & #62)
* init, load, persist, sync, clear
 * clean up frequent disk syncs which impacted iOS performance
 * insert disk sync into various iOS/OS X lifecycle events
 * implement clear
 * implement save on iOS
 * cleaner dictionary syntax
2014-02-13 12:21:35 -08:00

44 lines
1.7 KiB
Plaintext

#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];
}