Singleton auto capture form

This commit is contained in:
Jaex 2014-03-12 04:04:56 +02:00
parent a3b333f30b
commit f24defdce9
4 changed files with 35 additions and 24 deletions

View file

@ -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)

View file

@ -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)

View file

@ -123,7 +123,7 @@ private void HandleHotkeys(HotkeySettings hotkeySetting)
DoScreenRecorder(taskSettings);
break;
case HotkeyType.AutoCapture:
AutoCaptureForm.Open();
OpenAutoCapture();
break;
case HotkeyType.ScreenColorPicker:
OpenScreenColorPicker(taskSettings);

View file

@ -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")]