X-Git-Url: https://www.flypig.org.uk/git/?p=harbour-pedalo.git;a=blobdiff_plain;f=src%2Fharbour-pedalo.cpp;h=e8f123dd1728db6debfe7ed8eef1ba2df6f72588;hp=acdcc2eea90a0bc817267d3c9847b3668491a655;hb=70180c4c4fd2807d16f90562d6876f3f07d388b1;hpb=e917baa52e7157c7c41424527c3881c22ff65588 diff --git a/src/harbour-pedalo.cpp b/src/harbour-pedalo.cpp index acdcc2e..e8f123d 100644 --- a/src/harbour-pedalo.cpp +++ b/src/harbour-pedalo.cpp @@ -1,5 +1,5 @@ -#ifdef QT_QML_DEBUG #include +#ifdef QT_QML_DEBUG #include #endif @@ -7,6 +7,11 @@ #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[]) { @@ -21,28 +26,50 @@ int main(int argc, char *argv[]) // To display the view, call "show()" (will show fullscreen on device). 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(QStandardPaths::writableLocation(QStandardPaths::AppConfigLocation) + "/journeys.csv"); + 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(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; }