mirror of
https://github.com/ShareX/ShareX.git
synced 2024-10-02 18:26:27 +13:00
Added start delay countdown to screen region form
This commit is contained in:
parent
e898e73690
commit
25477aa009
4 changed files with 23 additions and 11 deletions
|
@ -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();
|
||||
|
|
1
ShareX/Forms/ScreenRegionForm.Designer.cs
generated
1
ShareX/Forms/ScreenRegionForm.Designer.cs
generated
|
@ -56,7 +56,6 @@ private void InitializeComponent()
|
|||
//
|
||||
// timerRefresh
|
||||
//
|
||||
this.timerRefresh.Interval = 200;
|
||||
this.timerRefresh.Tick += new System.EventHandler(this.timerRefresh_Tick);
|
||||
//
|
||||
// btnAbort
|
||||
|
|
|
@ -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;
|
||||
}
|
||||
|
||||
|
|
|
@ -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;
|
||||
|
||||
|
|
Loading…
Reference in a new issue