Have record class emit when data has changed and update warnings when data has changed.
This commit is contained in:
@@ -262,8 +262,18 @@ Kirigami.ApplicationWindow {
|
||||
property var serviceId: Kirigami.PageRouter.data.id
|
||||
Component.onCompleted: {
|
||||
recordModel.changeVehicleFilter(serviceId);
|
||||
//Check vehicle warnings
|
||||
dbAnalytics.checkOilChangeNeededForVehicle(serviceId);
|
||||
}
|
||||
Connections {
|
||||
target: recordModel
|
||||
function onVehicleUpdated(vehicleId) {
|
||||
//Check vehicle warnings
|
||||
if(vehicleId == serviceId) {
|
||||
dbAnalytics.checkOilChangeNeededForVehicle(vehicleId);
|
||||
}
|
||||
}
|
||||
}
|
||||
id: serviceRecordPage
|
||||
title: qsTr("Service Records for ") + Kirigami.PageRouter.data.name
|
||||
mainAction: Kirigami.Action {
|
||||
@@ -290,7 +300,7 @@ Kirigami.ApplicationWindow {
|
||||
text: qsTr("You are due for an oil change!")
|
||||
Connections {
|
||||
target: dbAnalytics
|
||||
onIsOilChangeNeeded: {
|
||||
function onIsOilChangeNeeded(changeNeeded) {
|
||||
oilMessage.visible = changeNeeded;
|
||||
}
|
||||
}
|
||||
@@ -441,7 +451,6 @@ Kirigami.ApplicationWindow {
|
||||
}
|
||||
if(milesField.acceptableInput) {
|
||||
recordModel.addNewRecord(providerField.text, typeField.currentValue, typeText, dateObj.toISOString(), parseInt(milesField.text), notesField.text);
|
||||
//TODO: check if emit signal to car warnings.
|
||||
router.popRoute();
|
||||
} else {
|
||||
formError.text = qsTr("Invalid number of miles.");
|
||||
|
||||
@@ -71,6 +71,7 @@ void SqlServiceRecord::addNewRecord(int vehicleId, QString serviceProvider, int
|
||||
printf("inserted new service record\n");
|
||||
this->database().commit();
|
||||
this->select();
|
||||
emit this->vehicleUpdated(this->currentVehicleID);
|
||||
} else {
|
||||
this->database().rollback();
|
||||
printf("database error\n");
|
||||
@@ -84,6 +85,7 @@ void SqlServiceRecord::removeRecord(int index)
|
||||
printf("removed service record\n");
|
||||
this->database().commit();
|
||||
this->select();
|
||||
emit this->vehicleUpdated(this->currentVehicleID);
|
||||
} else {
|
||||
this->database().rollback();
|
||||
printf("database error\n");
|
||||
|
||||
@@ -35,6 +35,8 @@ public:
|
||||
Q_INVOKABLE void removeRecord(int index);
|
||||
Q_INVOKABLE void changeVehicleFilter(int id);
|
||||
|
||||
signals:
|
||||
void vehicleUpdated(int vehicleId);
|
||||
private:
|
||||
int currentVehicleID = 0;
|
||||
|
||||
|
||||
Reference in New Issue
Block a user