diff --git a/src/contents/ui/main.qml b/src/contents/ui/main.qml index 1aa002450870e506a99c75a71f25eedb30f6daa0..3838fdc4e97706b0f87ace78f95ae7ddd92b8c2f 100644 --- a/src/contents/ui/main.qml +++ b/src/contents/ui/main.qml @@ -286,12 +286,25 @@ Kirigami.ApplicationWindow { Kirigami.FormData.label: qsTr("Service Provider")+":" } - Controls.TextField { + Controls.ComboBox { 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")+":" } + Controls.TextField { + id: customTypeField + visible: false + Kirigami.FormData.label: qsTr("Custom Service Type")+":" + } + Layouts.RowLayout { Kirigami.FormData.label: qsTr("Date")+":" Controls.TextField { @@ -333,8 +346,12 @@ Kirigami.ApplicationWindow { highlighted: true onClicked: { var dateObj = Date.fromLocaleDateString(Qt.locale(), dateField.text); + var typeText = typeField.currentText; + if(typeField.currentText === qsTr("Other")) { + typeText = customTypeField.text; + } 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(); } else { formError.text = qsTr("Invalid number of miles.");