X-Git-Url: https://www.flypig.org.uk/git/?p=harbour-pedalo.git;a=blobdiff_plain;f=src%2Fharbour-pedalo.cpp;h=e8f123dd1728db6debfe7ed8eef1ba2df6f72588;hp=4cec5304aedf9df8c1f87257f1a40439a03a3fcd;hb=70180c4c4fd2807d16f90562d6876f3f07d388b1;hpb=47437fad453dab96a7bd28ffd0584a7c1fda4881 diff --git a/src/harbour-pedalo.cpp b/src/harbour-pedalo.cpp index 4cec530..e8f123d 100644 --- a/src/harbour-pedalo.cpp +++ b/src/harbour-pedalo.cpp @@ -1,9 +1,18 @@ -#ifdef QT_QML_DEBUG #include +#ifdef QT_QML_DEBUG +#include #endif #include +#include "journey.h" +#include "journeymodel.h" +#include "status.h" +#include "settings.h" +#include "imageprovider.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 +25,51 @@ 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(journeys); + Settings::getInstance().setMainStatus(currentStatus); + Settings::getInstance().loadSettings(); + + QFile file; + file.setFileName(Settings::getConfigDir() + "/journeys.csv"); + journeys.importFromFile(file); + journeys.sort(JourneyModel::StartRole, Qt::DescendingOrder); + + QScopedPointer view(SailfishApp::createView()); + view->engine()->addImageProvider(QLatin1String("pedalo"), new ImageProvider(Settings::getInstance())); + view->setSource(SailfishApp::pathTo("qml/harbour-pedalo.qml")); + + QQmlContext *ctxt = view->rootContext(); + ctxt->setContextProperty("version", VERSION); + qDebug() << "harbour-pedalo VERSION string: " << VERSION; + qDebug() << "VERSION_MAJOR: " << VERSION_MAJOR; + qDebug() << "VERSION_MINOR: " << VERSION_MINOR; + qDebug() << "VERSION_BUILD: " << VERSION_BUILD; + + 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; }