Added start delay countdown to screen region form

This commit is contained in:
Jaex 2015-06-22 16:18:05 +03:00
parent e898e73690
commit 25477aa009
4 changed files with 23 additions and 11 deletions

View file

@ -243,6 +243,8 @@ public void StartRecording(ScreenRecordOutput outputType, TaskSettings taskSetti
if (delay > 0)
{
regionForm.InvokeSafe(() => regionForm.StartCountdown(delay));
regionForm.RecordResetEvent.WaitOne(delay);
}
}
@ -265,7 +267,7 @@ public void StartRecording(ScreenRecordOutput outputType, TaskSettings taskSetti
if (regionForm != null)
{
regionForm.InvokeSafe(() => regionForm.StartTimer());
regionForm.InvokeSafe(() => regionForm.StartRecordingTimer(duration > 0, duration));
}
screenRecorder.StartRecording();

View file

@ -56,7 +56,6 @@ private void InitializeComponent()
//
// timerRefresh
//
this.timerRefresh.Interval = 200;
this.timerRefresh.Tick += new System.EventHandler(this.timerRefresh_Tick);
//
// btnAbort

View file

@ -120,13 +120,6 @@ public static ScreenRegionForm Show(Rectangle captureRectangle, Action stopReque
Thread thread = new Thread(() =>
{
regionForm.StopRequested += stopRequested;
if (duration > 0)
{
regionForm.IsCountdown = true;
regionForm.Countdown = TimeSpan.FromSeconds(duration);
}
regionForm.UpdateTimer();
regionForm.ShowDialog();
});
@ -136,14 +129,32 @@ public static ScreenRegionForm Show(Rectangle captureRectangle, Action stopReque
return regionForm;
}
public void StartTimer()
public void StartCountdown(int milliseconds)
{
IsCountdown = true;
Countdown = TimeSpan.FromMilliseconds(milliseconds);
lblTimer.ForeColor = Color.Yellow;
Timer.Start();
timerRefresh.Start();
UpdateTimer();
}
public void StartRecordingTimer(bool isCountdown, float duration = 0)
{
IsCountdown = isCountdown;
Countdown = TimeSpan.FromSeconds(duration);
lblTimer.ForeColor = Color.White;
borderColor = Color.FromArgb(0, 255, 0);
btnStop.Text = Resources.AutoCaptureForm_Execute_Stop;
Refresh();
Timer.Reset();
Timer.Start();
timerRefresh.Start();
UpdateTimer();
IsRecording = true;
}

View file

@ -303,7 +303,7 @@ public class TaskSettingsCapture
public bool ScreenRecordFixedDuration = false;
public float ScreenRecordDuration = 3f;
public bool ScreenRecordAutoStart = true;
public float ScreenRecordStartDelay = 0.5f;
public float ScreenRecordStartDelay = 1f;
public bool RunScreencastCLI = false;
public int VideoEncoderSelected = 0;