示例#1
0
        private void Reveil_StateChanged(object sender, ReveilState state)
        {
            switch (state)
            {
            case ReveilState.Timer:
            {
                sprintButton.Visibility     = Visibility.Collapsed;
                shortBreakButton.Visibility = Visibility.Collapsed;
                longBreakButton.Visibility  = Visibility.Collapsed;
                stopButton.Visibility       = Visibility.Visible;
                break;
            }

            case ReveilState.Alarm:
            case ReveilState.Play:
            {
                // skip
                break;
            }

            default:
            {
                sprintButton.Visibility     = Visibility.Visible;
                shortBreakButton.Visibility = Visibility.Visible;
                longBreakButton.Visibility  = Visibility.Visible;
                stopButton.Visibility       = Visibility.Collapsed;
                break;
            }
            }
        }
示例#2
0
 /// <summary>
 /// Sets the duration.
 /// </summary>
 /// <param name="duration"></param>
 private void SetDuration(DateTime?duration)
 {
     _timer.Stop();
     alarmMediaElement.Stop();
     _end  = duration;
     State = (duration != null) ? ReveilState.Timer : ReveilState.Clock;
     _timer.Start();
 }
示例#3
0
        /// <summary>
        /// Updates the duration.
        /// </summary>
        private void UpdateDuration()
        {
            DateTime now = DateTime.Now;

            if (_end.Value <= now)
            {
                State = ReveilState.Play;
            }
            var duration = _end.Value - DateTime.Now;

            secondTimeBar.Value = duration.Seconds;
            minuteTimeBar.Value = duration.Minutes;
            Time = duration.ToString(DurationFormat);
        }
示例#4
0
 /// <summary>
 /// Plays the sound of the alarm.
 /// </summary>
 private void Play()
 {
     State = ReveilState.Alarm;
     alarmMediaElement.Position = TimeSpan.MinValue;
     alarmMediaElement.Play();
 }
示例#5
0
 private void OnStateChanged(ReveilState state)
 {
     StateChanged?.Invoke(this, state);
 }