From a3b333f30b72edd07fc49901d9e8512f4026f50e Mon Sep 17 00:00:00 2001 From: Jaex Date: Tue, 11 Mar 2014 11:38:50 +0200 Subject: [PATCH] fixed #14: Added -autocapture command for be able to start auto capture when ShareX starts --- ShareX/Forms/AutoCaptureForm.cs | 26 +++++++++++++++++++------- ShareX/Forms/MainForm.cs | 11 +++++------ ShareX/Forms/MainForm_Capture.cs | 2 +- 3 files changed, 25 insertions(+), 14 deletions(-) diff --git a/ShareX/Forms/AutoCaptureForm.cs b/ShareX/Forms/AutoCaptureForm.cs index cb392cf4e..59f38a46c 100644 --- a/ShareX/Forms/AutoCaptureForm.cs +++ b/ShareX/Forms/AutoCaptureForm.cs @@ -43,7 +43,7 @@ public partial class AutoCaptureForm : Form private bool waitUploads; private Stopwatch stopwatch = new Stopwatch(); - public AutoCaptureForm() + private AutoCaptureForm() { InitializeComponent(); Icon = ShareXResources.Icon; @@ -62,11 +62,23 @@ public AutoCaptureForm() cbWaitUploads.Checked = Program.Settings.AutoCaptureWaitUpload; } - public static void AutoStart() + public static void Open() { - AutoCaptureForm form = new AutoCaptureForm(); - form.Show(); - form.Execute(true); + 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) @@ -143,7 +155,7 @@ private void UpdateStatus() } } - public void Execute(bool silent = false) + public void Execute() { if (IsRunning) { @@ -160,7 +172,7 @@ public void Execute(bool silent = false) delay = (int)(Program.Settings.AutoCaptureRepeatTime * 1000); waitUploads = Program.Settings.AutoCaptureWaitUpload; - if (Program.Settings.AutoCaptureMinimizeToTray || silent) + if (Program.Settings.AutoCaptureMinimizeToTray) { Visible = false; niTray.Visible = true; diff --git a/ShareX/Forms/MainForm.cs b/ShareX/Forms/MainForm.cs index 007b2b06e..766d3de2c 100644 --- a/ShareX/Forms/MainForm.cs +++ b/ShareX/Forms/MainForm.cs @@ -464,6 +464,10 @@ public void UseCommandLineArgs(string[] args) { UploadManager.ClipboardUpload(); } + else if (args[i].Equals("-autocapture", StringComparison.InvariantCultureIgnoreCase)) + { + AutoCaptureForm.Start(); + } else if (args[i][0] != '-') { UploadManager.UploadFile(args[i]); @@ -551,11 +555,6 @@ private void DoScreenRecorder(TaskSettings taskSettings = null) } } - private void OpenAutoCapture() - { - new AutoCaptureForm().Show(); - } - private void OpenScreenColorPicker(TaskSettings taskSettings = null) { if (taskSettings == null) taskSettings = TaskSettings.GetDefaultTaskSettings(); @@ -713,7 +712,7 @@ private void tsmiScreenRecorderGIF_Click(object sender, EventArgs e) private void tsmiAutoCapture_Click(object sender, EventArgs e) { - OpenAutoCapture(); + AutoCaptureForm.Open(); } private void tsbApplicationSettings_Click(object sender, EventArgs e) diff --git a/ShareX/Forms/MainForm_Capture.cs b/ShareX/Forms/MainForm_Capture.cs index 4d3849a06..dd95507a5 100644 --- a/ShareX/Forms/MainForm_Capture.cs +++ b/ShareX/Forms/MainForm_Capture.cs @@ -123,7 +123,7 @@ private void HandleHotkeys(HotkeySettings hotkeySetting) DoScreenRecorder(taskSettings); break; case HotkeyType.AutoCapture: - OpenAutoCapture(); + AutoCaptureForm.Open(); break; case HotkeyType.ScreenColorPicker: OpenScreenColorPicker(taskSettings);