diff options
author | Ansis Brammanis <ansis.brammanis@gmail.com> | 2014-02-18 08:40:14 -0500 |
---|---|---|
committer | Ansis Brammanis <ansis.brammanis@gmail.com> | 2014-02-18 08:40:14 -0500 |
commit | baa4981c3b1e7920cb4507592532a8d6863aee5e (patch) | |
tree | 91322b2cdf0879693207950e1dcb3ecf982f737f /linux | |
parent | c4313c25aecf8a96d60a09be62e2e2e4aef27eed (diff) | |
download | qtlocation-mapboxgl-baa4981c3b1e7920cb4507592532a8d6863aee5e.tar.gz |
persist settings to /tmp/llmr-native.json
Diffstat (limited to 'linux')
-rw-r--r-- | linux/settings.cpp | 61 | ||||
-rw-r--r-- | linux/settings.hpp | 4 |
2 files changed, 32 insertions, 33 deletions
diff --git a/linux/settings.cpp b/linux/settings.cpp index 2aa4b8c8a5..d058337f60 100644 --- a/linux/settings.cpp +++ b/linux/settings.cpp @@ -1,52 +1,55 @@ #include "settings.hpp" +#include "rapidjson/prettywriter.h" +#include "rapidjson/filestream.h" +#include "rapidjson/document.h" +#include <stdio.h> 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]; - */ + FILE *settingsFile = fopen("/tmp/llmr-native.json", "r"); + if (settingsFile != NULL) { + rapidjson::FileStream is(settingsFile); + rapidjson::Document document; + document.ParseStream<0>(is); + if (document.IsArray()) { + latitude = document[rapidjson::SizeType(0)].GetDouble(); + latitude = document[1].GetDouble(); + scale = document[2].GetDouble(); + angle = document[3].GetDouble(); + debug = document[4].GetBool(); + } + } } void Settings_MacOSX::persist() { - /* - [[NSUserDefaults standardUserDefaults] setValuesForKeysWithDictionary:@{ @"longitude" : @(longitude), - @"latitude" : @(latitude), - @"scale" : @(scale), - @"angle" : @(angle), - @"debug" : @(debug) }]; - */ } void Settings_MacOSX::sync() { - /* - [[NSUserDefaults standardUserDefaults] synchronize]; - */ + + rapidjson::FileStream s(fopen("/tmp/llmr-native.json", "w")); + rapidjson::PrettyWriter<rapidjson::FileStream> writer(s); + writer.StartArray(); + writer.Double(longitude); + writer.Double(latitude); + writer.Double(scale); + writer.Double(angle); + writer.Bool(debug); + writer.EndArray(); } void Settings_MacOSX::clear() { - /* - [NSUserDefaults resetStandardUserDefaults]; - */ + longitude = 0; + latitude = 0; + scale = 0; + angle = 0; + debug = false; } diff --git a/linux/settings.hpp b/linux/settings.hpp index dae645c74c..e507c6bd17 100644 --- a/linux/settings.hpp +++ b/linux/settings.hpp @@ -12,10 +12,6 @@ public: virtual void persist(); virtual void sync(); virtual void clear(); - double angle; - double longitude; - double latitude; - double scale; }; } |