From eda53f96637f796875466be2cbd5906247c0c877 Mon Sep 17 00:00:00 2001 From: Kevin Whitaker Date: Sat, 6 Jun 2020 22:01:45 -0400 Subject: [PATCH] Pass db instance to models. Pass models to QML. --- src/db/sqlservicerecord.cpp | 2 +- src/db/sqlservicerecord.h | 2 +- src/db/sqlvehicle.cpp | 2 +- src/db/sqlvehicle.h | 2 +- src/main.cpp | 7 +++++++ 5 files changed, 11 insertions(+), 4 deletions(-) diff --git a/src/db/sqlservicerecord.cpp b/src/db/sqlservicerecord.cpp index 2d03b8a..2ca7fdb 100644 --- a/src/db/sqlservicerecord.cpp +++ b/src/db/sqlservicerecord.cpp @@ -18,7 +18,7 @@ #include "sqlservicerecord.h" #include -SqlServiceRecord::SqlServiceRecord(QObject* parent) +SqlServiceRecord::SqlServiceRecord(QObject* parent, QSqlDatabase db) : QSqlTableModel(parent, db) { setTable("records"); } diff --git a/src/db/sqlservicerecord.h b/src/db/sqlservicerecord.h index e1a4a53..303ae2b 100644 --- a/src/db/sqlservicerecord.h +++ b/src/db/sqlservicerecord.h @@ -27,7 +27,7 @@ class SqlServiceRecord : public QSqlTableModel { Q_OBJECT public: - explicit SqlServiceRecord(QObject *parent); + explicit SqlServiceRecord(QObject *parent = nullptr, QSqlDatabase db = QSqlDatabase()); QHash roleNames() const override; QVariant data(const QModelIndex &index, int role) const override; diff --git a/src/db/sqlvehicle.cpp b/src/db/sqlvehicle.cpp index 212501c..69508ed 100644 --- a/src/db/sqlvehicle.cpp +++ b/src/db/sqlvehicle.cpp @@ -18,7 +18,7 @@ #include "sqlvehicle.h" #include -SqlVehicle::SqlVehicle(QObject* parent) +SqlVehicle::SqlVehicle(QObject* parent, QSqlDatabase db) : QSqlTableModel(parent, db) { setTable("vehicles"); } diff --git a/src/db/sqlvehicle.h b/src/db/sqlvehicle.h index 706f61b..5513690 100644 --- a/src/db/sqlvehicle.h +++ b/src/db/sqlvehicle.h @@ -27,7 +27,7 @@ class SqlVehicle : public QSqlTableModel { Q_OBJECT public: - explicit SqlVehicle(QObject *parent); + explicit SqlVehicle(QObject *parent = nullptr, QSqlDatabase db = QSqlDatabase()); QHash roleNames() const override; QVariant data(const QModelIndex &index, int role) const override; diff --git a/src/main.cpp b/src/main.cpp index 34a7864..bbce633 100644 --- a/src/main.cpp +++ b/src/main.cpp @@ -27,6 +27,8 @@ #include #include #include +#include "db/sqlvehicle.h" +#include "db/sqlservicerecord.h" Q_DECL_EXPORT int main(int argc, char *argv[]) { @@ -67,8 +69,13 @@ Q_DECL_EXPORT int main(int argc, char *argv[]) return -2; } + SqlVehicle vehicles(nullptr, db); + SqlServiceRecord records(nullptr, db); + QQmlApplicationEngine engine; engine.rootContext()->setContextProperty(QStringLiteral("appAboutData"), QVariant::fromValue(aboutData)); + engine.rootContext()->setContextProperty(QStringLiteral("vehicleModel"), &vehicles); + engine.rootContext()->setContextProperty(QStringLiteral("recordModel"), &records); engine.load(QUrl(QStringLiteral("qrc:///main.qml"))); if (engine.rootObjects().isEmpty()) { -- GitLab