mirror of
https://github.com/ShareX/ShareX.git
synced 2024-09-30 01:07:21 +13:00
Singleton auto capture form
This commit is contained in:
parent
a3b333f30b
commit
f24defdce9
4 changed files with 35 additions and 24 deletions
|
@ -37,6 +37,21 @@ public partial class AutoCaptureForm : Form
|
|||
{
|
||||
public static bool IsRunning { get; private set; }
|
||||
|
||||
private static AutoCaptureForm instance;
|
||||
|
||||
public static AutoCaptureForm Instance
|
||||
{
|
||||
get
|
||||
{
|
||||
if (instance == null || instance.IsDisposed)
|
||||
{
|
||||
instance = new AutoCaptureForm();
|
||||
}
|
||||
|
||||
return instance;
|
||||
}
|
||||
}
|
||||
|
||||
private Timer statusTimer;
|
||||
private System.Timers.Timer screenshotTimer;
|
||||
private int delay, count, timeleft, percentage;
|
||||
|
@ -62,25 +77,6 @@ private AutoCaptureForm()
|
|||
cbWaitUploads.Checked = Program.Settings.AutoCaptureWaitUpload;
|
||||
}
|
||||
|
||||
public static void Open()
|
||||
{
|
||||
if (!IsRunning)
|
||||
{
|
||||
AutoCaptureForm form = new AutoCaptureForm();
|
||||
form.Show();
|
||||
}
|
||||
}
|
||||
|
||||
public static void Start()
|
||||
{
|
||||
if (!IsRunning)
|
||||
{
|
||||
AutoCaptureForm form = new AutoCaptureForm();
|
||||
form.Show();
|
||||
form.Execute();
|
||||
}
|
||||
}
|
||||
|
||||
private void screenshotTimer_Elapsed(object sender, System.Timers.ElapsedEventArgs e)
|
||||
{
|
||||
if (IsRunning)
|
||||
|
|
|
@ -466,7 +466,7 @@ public void UseCommandLineArgs(string[] args)
|
|||
}
|
||||
else if (args[i].Equals("-autocapture", StringComparison.InvariantCultureIgnoreCase))
|
||||
{
|
||||
AutoCaptureForm.Start();
|
||||
StartAutoCapture();
|
||||
}
|
||||
else if (args[i][0] != '-')
|
||||
{
|
||||
|
@ -555,6 +555,21 @@ private void DoScreenRecorder(TaskSettings taskSettings = null)
|
|||
}
|
||||
}
|
||||
|
||||
private void OpenAutoCapture()
|
||||
{
|
||||
AutoCaptureForm.Instance.ShowActivate();
|
||||
}
|
||||
|
||||
private void StartAutoCapture()
|
||||
{
|
||||
if (!AutoCaptureForm.IsRunning)
|
||||
{
|
||||
AutoCaptureForm form = AutoCaptureForm.Instance;
|
||||
form.Show();
|
||||
form.Execute();
|
||||
}
|
||||
}
|
||||
|
||||
private void OpenScreenColorPicker(TaskSettings taskSettings = null)
|
||||
{
|
||||
if (taskSettings == null) taskSettings = TaskSettings.GetDefaultTaskSettings();
|
||||
|
@ -712,7 +727,7 @@ private void tsmiScreenRecorderGIF_Click(object sender, EventArgs e)
|
|||
|
||||
private void tsmiAutoCapture_Click(object sender, EventArgs e)
|
||||
{
|
||||
AutoCaptureForm.Open();
|
||||
OpenAutoCapture();
|
||||
}
|
||||
|
||||
private void tsbApplicationSettings_Click(object sender, EventArgs e)
|
||||
|
|
|
@ -123,7 +123,7 @@ private void HandleHotkeys(HotkeySettings hotkeySetting)
|
|||
DoScreenRecorder(taskSettings);
|
||||
break;
|
||||
case HotkeyType.AutoCapture:
|
||||
AutoCaptureForm.Open();
|
||||
OpenAutoCapture();
|
||||
break;
|
||||
case HotkeyType.ScreenColorPicker:
|
||||
OpenScreenColorPicker(taskSettings);
|
||||
|
|
|
@ -11,5 +11,5 @@
|
|||
[assembly: AssemblyCulture("")]
|
||||
[assembly: ComVisible(false)]
|
||||
[assembly: Guid("82E6AC09-0FEF-4390-AD9F-0DD3F5561EFC")]
|
||||
[assembly: AssemblyVersion("8.5.1")]
|
||||
[assembly: AssemblyFileVersion("8.5.1")]
|
||||
[assembly: AssemblyVersion("8.6.0")]
|
||||
[assembly: AssemblyFileVersion("8.6.0")]
|
Loading…
Reference in a new issue