From b5f9ba32d64e235cfcb09f8f7a0bf55eeef76e5e Mon Sep 17 00:00:00 2001 From: barsv85 Date: Sun, 14 Sep 2014 12:57:24 +0400 Subject: [PATCH] applied changes to TaskSettingsForm. reused code from MainForm. removed unnecessary code that remained after making ImageFileDestination, TextFileDestination not nullable. --- ShareX/Forms/MainForm.cs | 30 +++++++++++++------------- ShareX/Forms/TaskSettingsForm.cs | 37 ++++++++++++++++++++++++++------ 2 files changed, 45 insertions(+), 22 deletions(-) diff --git a/ShareX/Forms/MainForm.cs b/ShareX/Forms/MainForm.cs index 6dc3a6145..2e6fee92c 100644 --- a/ShareX/Forms/MainForm.cs +++ b/ShareX/Forms/MainForm.cs @@ -96,7 +96,6 @@ private void InitControls() // if click on "folder" with file destinations then set ImageFileDestination and check it if (x == ImageDestination.FileUploader) { - Program.DefaultTaskSettings.ImageFileDestination = Program.DefaultTaskSettings.ImageFileDestination; SetEnumChecked(Program.DefaultTaskSettings.ImageFileDestination, tsmiImageFileUploaders, tsmiTrayImageFileUploaders); } @@ -120,7 +119,6 @@ private void InitControls() // if click on "folder" with file destinations then set TextFileDestination and check it if (x == TextDestination.FileUploader) { - Program.DefaultTaskSettings.TextFileDestination = Program.DefaultTaskSettings.TextFileDestination; SetEnumChecked(Program.DefaultTaskSettings.TextFileDestination, tsmiTextFileUploaders, tsmiTrayTextFileUploaders); } @@ -281,7 +279,7 @@ private void AddEnumItems(Action selectedEnum, params ToolStripDropDownIte /// /// Enum item /// DropDowns where enum-th item must be checked. - private void SetEnumChecked(Enum value, params ToolStripDropDownItem[] parents) + private static void SetEnumChecked(Enum value, params ToolStripDropDownItem[] parents) { if (value == null) return; @@ -563,37 +561,39 @@ public void UpdateMainFormSettings() SetMultiEnumChecked(Program.DefaultTaskSettings.AfterCaptureJob, tsddbAfterCaptureTasks, tsmiTrayAfterCaptureTasks); SetMultiEnumChecked(Program.DefaultTaskSettings.AfterUploadJob, tsddbAfterUploadTasks, tsmiTrayAfterUploadTasks); SetEnumChecked(Program.DefaultTaskSettings.ImageDestination, tsmiImageUploaders, tsmiTrayImageUploaders); - SetImageFileDestinationChecked(); + SetImageFileDestinationChecked(Program.DefaultTaskSettings.ImageDestination, + Program.DefaultTaskSettings.ImageFileDestination, tsmiImageFileUploaders, tsmiTrayImageFileUploaders); SetEnumChecked(Program.DefaultTaskSettings.TextDestination, tsmiTextUploaders, tsmiTrayTextUploaders); - SetTextFileDestinationChecked(); + SetTextFileDestinationChecked(Program.DefaultTaskSettings.TextDestination, + Program.DefaultTaskSettings.TextFileDestination , tsmiTextFileUploaders, tsmiTrayTextFileUploaders); SetEnumChecked(Program.DefaultTaskSettings.FileDestination, tsmiFileUploaders, tsmiTrayFileUploaders); SetEnumChecked(Program.DefaultTaskSettings.URLShortenerDestination, tsmiURLShorteners, tsmiTrayURLShorteners); SetEnumChecked(Program.DefaultTaskSettings.URLSharingServiceDestination, tsmiURLSharingServices, tsmiTrayURLSharingServices); } - private void SetTextFileDestinationChecked() + public static void SetTextFileDestinationChecked(TextDestination textDestination, + FileDestination textFileDestination, params ToolStripDropDownItem[] lists) { - if (Program.DefaultTaskSettings.TextDestination == TextDestination.FileUploader) + if (textDestination == TextDestination.FileUploader) { - SetEnumChecked(Program.DefaultTaskSettings.TextFileDestination, tsmiTextFileUploaders, - tsmiTrayTextFileUploaders); + SetEnumChecked(textFileDestination, lists); } else { - Uncheck(tsmiTextFileUploaders, tsmiTrayTextFileUploaders); + Uncheck(lists); } } - private void SetImageFileDestinationChecked() + public static void SetImageFileDestinationChecked(ImageDestination imageDestination, + FileDestination imageFileDestination, params ToolStripDropDownItem[] lists) { - if (Program.DefaultTaskSettings.ImageDestination == ImageDestination.FileUploader) + if (imageDestination == ImageDestination.FileUploader) { - SetEnumChecked(Program.DefaultTaskSettings.ImageFileDestination, tsmiImageFileUploaders, - tsmiTrayImageFileUploaders); + SetEnumChecked(imageFileDestination, lists); } else { - Uncheck(tsmiImageFileUploaders, tsmiTrayImageFileUploaders); + Uncheck(lists); } } diff --git a/ShareX/Forms/TaskSettingsForm.cs b/ShareX/Forms/TaskSettingsForm.cs index 49e9d7fff..8d416dcc2 100644 --- a/ShareX/Forms/TaskSettingsForm.cs +++ b/ShareX/Forms/TaskSettingsForm.cs @@ -83,26 +83,47 @@ public TaskSettingsForm(TaskSettings hotkeySetting, bool isDefault = false) }, cmsTask); AddMultiEnumItemsContextMenu(x => TaskSettings.AfterCaptureJob = TaskSettings.AfterCaptureJob.Swap(x), cmsAfterCapture); AddMultiEnumItemsContextMenu(x => TaskSettings.AfterUploadJob = TaskSettings.AfterUploadJob.Swap(x), cmsAfterUpload); + // Destinations -> Image uploader AddEnumItems(x => { TaskSettings.ImageDestination = x; // if click on "folder" with file destinations then set ImageFileDestination and check it if (x == ImageDestination.FileUploader) { - TaskSettings.ImageFileDestination = TaskSettings.ImageFileDestination; SetEnumChecked(TaskSettings.ImageFileDestination, tsmiImageFileUploaders); } else // if click not on "folder" with destinations then uncheck file destinations { MainForm.Uncheck(tsmiImageFileUploaders); } - TaskSettings.ImageFileDestination = FileDestination.Dropbox; }, tsmiImageUploaders); tsmiImageFileUploaders = (ToolStripDropDownItem)tsmiImageUploaders.DropDownItems[tsmiImageUploaders.DropDownItems.Count - 1]; - AddEnumItems(x => TaskSettings.ImageFileDestination = x, tsmiImageFileUploaders); - AddEnumItems(x => TaskSettings.TextDestination = x, tsmiTextUploaders); + AddEnumItems(x => + { + TaskSettings.ImageFileDestination = x; + tsmiImageFileUploaders.PerformClick(); + }, tsmiImageFileUploaders); + // Destinations -> Text uploader + AddEnumItems(x => + { + TaskSettings.TextDestination = x; + // if click on "folder" with file destinations then set TextFileDestination and check it + if (x == TextDestination.FileUploader) + { + SetEnumChecked(TaskSettings.TextFileDestination, tsmiTextFileUploaders); + } + else // if click not on "folder" with destinations then uncheck file destinations + { + MainForm.Uncheck(tsmiTextFileUploaders); + } + }, tsmiTextUploaders); tsmiTextFileUploaders = (ToolStripDropDownItem)tsmiTextUploaders.DropDownItems[tsmiTextUploaders.DropDownItems.Count - 1]; - AddEnumItems(x => TaskSettings.TextFileDestination = x, tsmiTextFileUploaders); + AddEnumItems(x => + { + TaskSettings.TextFileDestination = x; + tsmiTextFileUploaders.PerformClick(); + }, tsmiTextFileUploaders); + // Destinations -> File uploader AddEnumItems(x => TaskSettings.FileDestination = x, tsmiFileUploaders); AddEnumItems(x => TaskSettings.URLShortenerDestination = x, tsmiURLShorteners); AddEnumItems(x => TaskSettings.URLSharingServiceDestination = x, tsmiURLSharingServices); @@ -111,9 +132,11 @@ public TaskSettingsForm(TaskSettings hotkeySetting, bool isDefault = false) SetMultiEnumCheckedContextMenu(TaskSettings.AfterCaptureJob, cmsAfterCapture); SetMultiEnumCheckedContextMenu(TaskSettings.AfterUploadJob, cmsAfterUpload); SetEnumChecked(TaskSettings.ImageDestination, tsmiImageUploaders); - SetEnumChecked(TaskSettings.ImageFileDestination, tsmiImageFileUploaders); + MainForm.SetImageFileDestinationChecked(TaskSettings.ImageDestination, + TaskSettings.ImageFileDestination, tsmiImageFileUploaders); SetEnumChecked(TaskSettings.TextDestination, tsmiTextUploaders); - SetEnumChecked(TaskSettings.TextFileDestination, tsmiTextFileUploaders); + MainForm.SetTextFileDestinationChecked(TaskSettings.TextDestination, + TaskSettings.TextFileDestination, tsmiTextFileUploaders); SetEnumChecked(TaskSettings.FileDestination, tsmiFileUploaders); SetEnumChecked(TaskSettings.URLShortenerDestination, tsmiURLShorteners); SetEnumChecked(TaskSettings.URLSharingServiceDestination, tsmiURLSharingServices);