From 5e749c454bc2f00b3af25d046ccb66f3aa4b0c9b Mon Sep 17 00:00:00 2001 From: Kevin Whitaker Date: Tue, 9 Jun 2020 13:25:46 -0400 Subject: [PATCH] Add UI/code to make process of add/removing vehicles work. --- .../org.eyecreate.vehiclevoyage.appdata.xml | 2 +- packaging/org.eyecreate.vehiclevoyage.json | 2 +- src/contents/ui/main.qml | 19 +++++++++++++++++++ src/db/sqlvehicle.cpp | 15 +++++++++++++++ src/db/sqlvehicle.h | 1 + src/main.cpp | 1 + 6 files changed, 38 insertions(+), 2 deletions(-) diff --git a/packaging/org.eyecreate.vehiclevoyage.appdata.xml b/packaging/org.eyecreate.vehiclevoyage.appdata.xml index 1ca1480..102e763 100644 --- a/packaging/org.eyecreate.vehiclevoyage.appdata.xml +++ b/packaging/org.eyecreate.vehiclevoyage.appdata.xml @@ -18,6 +18,6 @@ - + diff --git a/packaging/org.eyecreate.vehiclevoyage.json b/packaging/org.eyecreate.vehiclevoyage.json index f35b6e4..d8845fb 100644 --- a/packaging/org.eyecreate.vehiclevoyage.json +++ b/packaging/org.eyecreate.vehiclevoyage.json @@ -4,7 +4,7 @@ "command": "vehiclevoyage", "finish-args": [ "--share=ipc", - "runtime-version": "5.13", + "runtime-version": "5.14", "sdk": "org.kde.Sdk", "--share=network", "--socket=x11", diff --git a/src/contents/ui/main.qml b/src/contents/ui/main.qml index b303054..827984e 100644 --- a/src/contents/ui/main.qml +++ b/src/contents/ui/main.qml @@ -20,6 +20,7 @@ Kirigami.ApplicationWindow { id: mainPage mainAction: Kirigami.Action { text: qsTr("Add Vehicle") + iconName: "list-add" onTriggered: { router.navigateToRoute(["main","addvehicle"]); } @@ -65,6 +66,24 @@ Kirigami.ApplicationWindow { } } } + actions: [ + Kirigami.Action { + text: qsTr("Examine Logs") + iconName: "edit-find" + onTriggered: { + // + } + } + ] + hiddenActions: [ + Kirigami.Action { + text: qsTr("Delete") + iconName: "edit-delete" + onTriggered: { + vehicleModel.removeVehicle(index); + } + } + ] } Controls.ScrollBar.vertical: Controls.ScrollBar {} } diff --git a/src/db/sqlvehicle.cpp b/src/db/sqlvehicle.cpp index 87921da..0da4526 100644 --- a/src/db/sqlvehicle.cpp +++ b/src/db/sqlvehicle.cpp @@ -65,6 +65,7 @@ void SqlVehicle::addNewVehicle ( const QString name, const QString maker, const if(this->submitAll()) { printf("inserted new vehicle record"); this->database().commit(); + this->select(); } else { this->database().rollback(); printf("database error"); @@ -72,6 +73,20 @@ void SqlVehicle::addNewVehicle ( const QString name, const QString maker, const } +void SqlVehicle::removeVehicle(int index) +{ + this->removeRow(index); + if(this->submitAll()) { + printf("inserted new vehicle record"); + this->database().commit(); + this->select(); + } else { + this->database().rollback(); + printf("database error"); + } +} + + diff --git a/src/db/sqlvehicle.h b/src/db/sqlvehicle.h index faeed5b..fb82f47 100644 --- a/src/db/sqlvehicle.h +++ b/src/db/sqlvehicle.h @@ -31,6 +31,7 @@ public: QHash roleNames() const override; Q_INVOKABLE QVariant data(const QModelIndex &index, int role) const override; Q_INVOKABLE void addNewVehicle(const QString name, const QString maker, const QString model, const int year, const QString image, const QString vin); + Q_INVOKABLE void removeVehicle(int index); private: diff --git a/src/main.cpp b/src/main.cpp index 7da7d0a..05ec9d1 100644 --- a/src/main.cpp +++ b/src/main.cpp @@ -72,6 +72,7 @@ Q_DECL_EXPORT int main(int argc, char *argv[]) SqlVehicle vehicles(nullptr, db); SqlServiceRecord records(nullptr, db); + //Fill model with inital data. vehicles.select(); records.select(); -- GitLab