X-Git-Url: https://www.flypig.org.uk/git/?p=harbour-pedalo.git;a=blobdiff_plain;f=src%2Fharbour-pedalo.cpp;h=6346ad3c5bad459d29085d172f486480b09847c9;hp=4cec5304aedf9df8c1f87257f1a40439a03a3fcd;hb=d42485b9c24c02503080b05e5e466112f47c909a;hpb=47437fad453dab96a7bd28ffd0584a7c1fda4881 diff --git a/src/harbour-pedalo.cpp b/src/harbour-pedalo.cpp index 4cec530..6346ad3 100644 --- a/src/harbour-pedalo.cpp +++ b/src/harbour-pedalo.cpp @@ -1,9 +1,17 @@ #ifdef QT_QML_DEBUG #include +#include #endif #include +#include "journey.h" +#include "journeymodel.h" +#include "status.h" +#include "settings.h" + +#include "harbour-pedalo.h" + int main(int argc, char *argv[]) { // SailfishApp::main() will display "qml/harbour-pedalo.qml", if you need more @@ -16,5 +24,43 @@ int main(int argc, char *argv[]) // // To display the view, call "show()" (will show fullscreen on device). - return SailfishApp::main(argc, argv); + QScopedPointer 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("harbour.pedalo.settings", 1, 0, "Settings", Settings::provider); + + JourneyModel journeys; + Status currentStatus; + Settings::getInstance().setMainStatus(currentStatus); + Settings::getInstance().loadSettings(); + + QFile file; + file.setFileName(Settings::getConfigDir() + "/journeys.csv"); + journeys.importFromFile(file); + + QScopedPointer view(SailfishApp::createView()); + view->setSource(SailfishApp::pathTo("qml/harbour-pedalo.qml")); + + QQmlContext *ctxt = view->rootContext(); + ctxt->setContextProperty("journeymodel", &journeys); + ctxt->setContextProperty("currentStatus", ¤tStatus); + + view->show(); + int result = app->exec(); + + // Write out the journey data + QDir dir; + dir.mkpath(Settings::getConfigDir()); + file.setFileName(Settings::getConfigDir() + "/journeys.csv"); + qDebug() << "File saved as: " << file.fileName(); + journeys.exportToFile(file); + + Settings::getInstance().saveSettings(); + + return result; }