Store current journey details in persistent settings
[harbour-pedalo.git] / src / harbour-pedalo.cpp
index 144ddd3..6346ad3 100644 (file)
@@ -8,6 +8,9 @@
 #include "journey.h"
 #include "journeymodel.h"
 #include "status.h"
+#include "settings.h"
+
+#include "harbour-pedalo.h"
 
 int main(int argc, char *argv[])
 {
@@ -22,12 +25,22 @@ int main(int argc, char *argv[])
     // To display the view, call "show()" (will show fullscreen on device).
 
     QScopedPointer<QGuiApplication> app(SailfishApp::application(argc, argv));
+    // These values are used by QSettings to access the config file in
+    // /home/nemo/.local/share/flypig/harbour-pedalo.conf
+    //QCoreApplication::setOrganizationName("flypig");
+    QCoreApplication::setOrganizationDomain("www.flypig.co.uk");
+    QCoreApplication::setApplicationName(APP_NAME);
+
+    Settings::instantiate();
+    qmlRegisterSingletonType<Settings>("harbour.pedalo.settings", 1, 0, "Settings", Settings::provider);
 
     JourneyModel journeys;
     Status currentStatus;
+    Settings::getInstance().setMainStatus(currentStatus);
+    Settings::getInstance().loadSettings();
 
     QFile file;
-    file.setFileName(QStandardPaths::writableLocation(QStandardPaths::AppConfigLocation) + "/journeys.csv");
+    file.setFileName(Settings::getConfigDir() + "/journeys.csv");
     journeys.importFromFile(file);
 
     QScopedPointer<QQuickView> view(SailfishApp::createView());
@@ -42,10 +55,12 @@ int main(int argc, char *argv[])
 
     // Write out the journey data
     QDir dir;
-    dir.mkpath(QStandardPaths::writableLocation(QStandardPaths::AppConfigLocation));
-    file.setFileName(QStandardPaths::writableLocation(QStandardPaths::AppConfigLocation) + "/journeys.csv");
+    dir.mkpath(Settings::getConfigDir());
+    file.setFileName(Settings::getConfigDir() + "/journeys.csv");
     qDebug() << "File saved as: " << file.fileName();
     journeys.exportToFile(file);
 
+    Settings::getInstance().saveSettings();
+
     return result;
 }