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()
var tomorrow = currentTime
tomorrow.setDate(tomorrow.getDate() + 1)
if(alarmData.date.getHours() > currentTime.getHours() ||
(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()
}
}