message_button.show();
}
- protected virtual bool push_aux_state()
+ protected override bool push_aux_state()
{
- var state = new zavai.led.LedState(name);
+ var state = new zavai.led.LedState(notifier_name);
state.set_blink(255);
zavai.led.aux.push_state(state);
return true;
}
- protected virtual bool push_vibrator_state()
+ protected override bool push_vibrator_state()
{
- var state = new zavai.led.LedState(name);
+ var state = new zavai.led.LedState(notifier_name);
state.set_blink(255);
- zavai.led.aux.push_state(state);
+ zavai.led.vibrator.push_state(state);
return true;
}
- protected virtual bool push_ringtone_state()
+ protected override bool push_ringtone_state()
{
- var state = new zavai.audio.PlayerState(name, config.ringtone_alarm, true);
+ var state = new zavai.audio.PlayerState(notifier_name, config.ringtone_alarm, true);
zavai.audio.soundplayer.push_state(state);
return true;
}
}
-public class AlarmNotifier : zavai.Resource, ui.notify.Notifier
+public class AlarmNotifier : zavai.Resource, Object
{
protected weak clock.AlarmTriggerInfo current = null;
protected AlarmNotifierDialog dialog = null;
current = info;
dialog = new AlarmNotifierDialog("Alarm", info.label);
+ if (zavai.led.auxbutton != null)
+ zavai.led.auxbutton.event += on_auxbutton;
+
uint cancel_timeout = 0;
cancel_timeout = Timeout.add(30 * 1000, () => {
dialog.response(Gtk.ResponseType.CANCEL);
clock.alarm_trigger_queue.cancel(current);
break;
}
+
+ if (zavai.led.auxbutton != null)
+ zavai.led.auxbutton.event -= on_auxbutton;
+
dialog.destroy();
dialog = null;
current = null;
}
+ protected bool on_auxbutton(ulong time, bool pressed)
+ {
+ if (dialog == null) return false;
+ dialog.response(Gtk.ResponseType.OK);
+ return true;
+ }
+
public void on_done(clock.AlarmTriggerInfo info)
{
if (current == null || dialog == null || current != info) return;