Ubuntu QML Alarm не работает должным образом
Я пытался создать простое приложение, способное установить системную тревогу. Но хотя я вижу установленный будильник в нужное время в списке событий под индикатором часов (на рабочем столе), он не уведомляет меня вообще.
Если я создаю новый сигнал тревоги в минуту, относящуюся к предыдущему сигналу тревоги, в то время как старый все еще отображается в списке событий, старый внезапно уведомляет меня (notificaton + звук). Я не играю ни с одним списком тревог, я хочу, чтобы за один раз устанавливался только один будильник, но я хочу иметь возможность сбрасывать тревогу, которая находится в процессе. Работает нормально, опять же, пока текущее время не будет равно времени будильника (с округлением до минут), когда логическое удаление будильника не работает, так как его формат времени - "вт 2013-09-17 10:56:00" (секунды всегда равны нулю), поэтому он уже пройден в течение этой минуты, но он все еще отображается в списке событий (хорошо, он принадлежит той минуте), и он уведомляет меня, если я установил новый сигнал тревоги (это то, что я не понимаю).
Итак, подведем итог:
- Установка будильника не работает должным образом, я вижу его в списке, но он не уведомляет меня вообще (даже когда проходит минута, он просто исчезает из списка событий).
- Если его время равно текущему времени (в минутах) и если я установил новый сигнал тревоги в это время, старый внезапно просыпается и уведомляет меня.
- Еще одна странность заключается в том, что когда я это делаю, в списке событий отображается полная дата для старого игрового будильника, например, "Tue 10:56" или "09-17 10:56", а если я устанавливаю новый будильник. отображается только время без даты, например "10:56".
Даже пример на веб-сайте разработчиков Ubuntu не работает: http://developer.ubuntu.com/api/qml/sdk-14.10/Ubuntu.Components.Alarm/
Вот мой частично модифицированный код с той же ошибкой:
import QtQuick 2.3
import Ubuntu.Components 1.1
import Ubuntu.Components.Pickers 0.1
MainView {
objectName: "mainView"
applicationName: "com.ubuntu.developer.username.alarmtest"
useDeprecatedToolbar: false
width: units.gu(100)
height: units.gu(75)
Page {
title: i18n.tr("Simple")
Alarm{
id: alarm
onStatusChanged: {
if(status == Alarm.Ready) {
button.text = "Set Alarm";
}
}
}
Column {
spacing: units.gu(1)
Row {
spacing: units.gu(1)
Label {
id: date
text: "Date:"
anchors.verticalCenter: parent.verticalCenter
}
DatePicker {
id: datePicker
date: new Date()
mode: "Hours|Minutes"
onDateChanged: {
var pickerDate = datePicker.date;
pickerDate.setSeconds(0);
datePicker.date = pickerDate;
}
}
Button {
id: button
text: "Set Alarm";
onClicked: {
if ((alarm.operation > Alarm.NoOperation) && (alarm.operation < Alarm.Reseting)) {
reset();
}
else {
alarm.date = new Date(datePicker.date);
alarm.message = "My alarm";
alarm.save();
if (alarm.error != Alarm.NoError)
print("Error saving alarm, code: " + alarm.error + " at time " + alarm.date);
text = "Unset Alarm";
}
}
}
}
}
}
}
И мой вопрос, это нормально, что это не работает, или я делаю что-то не так? Большое спасибо за любую помощь, так как я сейчас полностью потерялся здесь. Я изучал приложение будильника со стандартными часами, пытался изменить официальный пример кода, и это не помогло - оно никогда не работает для меня. На рабочем столе Ubuntu 14.10 он глючит, и на моем Ubuntu Tablet мое приложение зависает, если я пытаюсь установить новый сигнал тревоги после того, как старый был завершен или удален.