X-Git-Url: https://www.flypig.org.uk/git/?p=harbour-pedalo.git;a=blobdiff_plain;f=src%2Fharbour-pedalo.cpp;h=729edae2592b4825ca93f4bfefa4f45454b85e26;hp=144ddd312e5d0b63d4081c6da473ddf64fb75a23;hb=41ee443df2b12e7a4373be580006f57cc5fd768a;hpb=371dcf3335b355f8d421352a394161dc6d9b9f24 diff --git a/src/harbour-pedalo.cpp b/src/harbour-pedalo.cpp index 144ddd3..729edae 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 @@ -8,6 +8,11 @@ #include "journey.h" #include "journeymodel.h" #include "status.h" +#include "settings.h" +#include "imageprovider.h" +#include "graph.h" + +#include "harbour-pedalo.h" int main(int argc, char *argv[]) { @@ -22,18 +27,38 @@ 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); + qmlRegisterType("harbour.pedalo.journeymodel", 1, 0, "JourneyModel"); + qmlRegisterType("harbour.pedalo.graph", 1, 0, "Graph"); JourneyModel journeys; - Status currentStatus; + 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); @@ -42,10 +67,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; }