summaryrefslogtreecommitdiff
path: root/linux
diff options
context:
space:
mode:
authorAnsis Brammanis <ansis.brammanis@gmail.com>2014-02-18 08:40:14 -0500
committerAnsis Brammanis <ansis.brammanis@gmail.com>2014-02-18 08:40:14 -0500
commitbaa4981c3b1e7920cb4507592532a8d6863aee5e (patch)
tree91322b2cdf0879693207950e1dcb3ecf982f737f /linux
parentc4313c25aecf8a96d60a09be62e2e2e4aef27eed (diff)
downloadqtlocation-mapboxgl-baa4981c3b1e7920cb4507592532a8d6863aee5e.tar.gz
persist settings to /tmp/llmr-native.json
Diffstat (limited to 'linux')
-rw-r--r--linux/settings.cpp61
-rw-r--r--linux/settings.hpp4
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;
};
}