Use combo box instead of textfield for service type. Put in some starting items.

This commit is contained in:
2020-06-10 12:54:12 -04:00
parent 2073e57a84
commit bb3904e2d1

View File

@@ -286,12 +286,25 @@ Kirigami.ApplicationWindow {
Kirigami.FormData.label: qsTr("Service Provider")+":" Kirigami.FormData.label: qsTr("Service Provider")+":"
} }
Controls.TextField { Controls.ComboBox {
id: typeField id: typeField
selectByMouse: true model: [qsTr("Oil and Filter Change"), qsTr("Windshield Wiper Replacement"), qsTr("Coolant Change"), qsTr("Tire Rotation"), qsTr("Timing Belt Change"), qsTr("Serpentine Belt Changed"), qsTr("Other")]
onActivated: {
if(currentText === qsTr("Other")) {
customTypeField.visible = true;
} else {
customTypeField.visible = false;
}
}
Kirigami.FormData.label: qsTr("Service Type")+":" Kirigami.FormData.label: qsTr("Service Type")+":"
} }
Controls.TextField {
id: customTypeField
visible: false
Kirigami.FormData.label: qsTr("Custom Service Type")+":"
}
Layouts.RowLayout { Layouts.RowLayout {
Kirigami.FormData.label: qsTr("Date")+":" Kirigami.FormData.label: qsTr("Date")+":"
Controls.TextField { Controls.TextField {
@@ -333,8 +346,12 @@ Kirigami.ApplicationWindow {
highlighted: true highlighted: true
onClicked: { onClicked: {
var dateObj = Date.fromLocaleDateString(Qt.locale(), dateField.text); var dateObj = Date.fromLocaleDateString(Qt.locale(), dateField.text);
var typeText = typeField.currentText;
if(typeField.currentText === qsTr("Other")) {
typeText = customTypeField.text;
}
if(milesField.acceptableInput) { if(milesField.acceptableInput) {
recordModel.addNewRecord(providerField.text, typeField.text, dateObj.toISOString(), parseInt(milesField.text), notesField.text); recordModel.addNewRecord(providerField.text, typeText, dateObj.toISOString(), parseInt(milesField.text), notesField.text);
router.popRoute(); router.popRoute();
} else { } else {
formError.text = qsTr("Invalid number of miles."); formError.text = qsTr("Invalid number of miles.");