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