onCheckedChanged: {
if (checked !== model.enabled) {
var alarmData = model
alarmData.enabled = checked
/*
Calculate the new alarm time if it is a one-time alarm and has
gone-off and the user is re-enabling the alarm. Repeating
alarms do this automatically.
*/
if(checked && type === Alarm.OneTime && alarmData.date < new Date()) {
var currentTime = new Date()
if(alarmData.date.getHours() > currentTime.getHours()) {
alarmData.daysOfWeek = alarmUtils.get_alarm_day(currentTime.getDay())
}
else if (alarmData.date.getHours() <= currentTime.getHours()
&& alarmData.date.getMinutes() > currentTime.getMinutes()) {
alarmData.daysOfWeek = alarmUtils.get_alarm_day(currentTime.getDay())
}
else {
var tomorrow = currentTime
tomorrow.setDate(tomorrow.getDate() + 1)
alarmData.daysOfWeek = alarmUtils.get_alarm_day(tomorrow.getDay())
}
}
alarmData.save()
}
}