summaryrefslogtreecommitdiff
path: root/macosx/settings.mm
blob: d788b706e25624cbca13faf3d7f3132904b8c14c (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
#import <Foundation/Foundation.h>

#include "settings.hpp"


using namespace llmr;

Settings_MacOSX::Settings_MacOSX() {
    NSDictionary *appDefaults = [NSDictionary dictionaryWithObjectsAndKeys:

        // position
        [NSNumber numberWithDouble:longitude], @"longitude",
        [NSNumber numberWithDouble:latitude], @"latitude",
        [NSNumber numberWithDouble:scale], @"scale",
        [NSNumber numberWithDouble:angle], @"angle",

        // debug
        [NSNumber numberWithBool:debug], @"debug",

        nil
    ];

    [[NSUserDefaults standardUserDefaults] registerDefaults:appDefaults];
}

void Settings_MacOSX::load() {
    NSUserDefaults *defaults = [NSUserDefaults standardUserDefaults];

    // position
    longitude = [defaults doubleForKey:@"longitude"];
    latitude = [defaults doubleForKey:@"latitude"];
    scale = [defaults doubleForKey:@"scale"];
    angle = [defaults doubleForKey:@"angle"];

    // debug
    debug = [defaults boolForKey:@"debug"];
}

void Settings_MacOSX::save() {
    NSUserDefaults *defaults = [NSUserDefaults standardUserDefaults];

    NSDictionary *appDefaults = [NSDictionary dictionaryWithObjectsAndKeys:

        // position
        [NSNumber numberWithDouble:longitude], @"longitude",
        [NSNumber numberWithDouble:latitude], @"latitude",
        [NSNumber numberWithDouble:scale], @"scale",
        [NSNumber numberWithDouble:angle], @"angle",

        // debug
        [NSNumber numberWithBool:debug], @"debug",

        nil
    ];
    [defaults setPersistentDomain:appDefaults forName:[[NSBundle mainBundle] bundleIdentifier]];

    [defaults synchronize];
}

void Settings_MacOSX::clear() {
}