mirror of
https://github.com/ShareX/ShareX.git
synced 2024-10-03 02:36:50 +13:00
Added image effects listing to after capture tasks sub menu
This commit is contained in:
parent
69bd184cb3
commit
e0e31c60e6
1 changed files with 44 additions and 8 deletions
|
@ -24,6 +24,7 @@ You should have received a copy of the GNU General Public License
|
||||||
#endregion License Information (GPL v3)
|
#endregion License Information (GPL v3)
|
||||||
|
|
||||||
using ShareX.HelpersLib;
|
using ShareX.HelpersLib;
|
||||||
|
using ShareX.ImageEffectsLib;
|
||||||
using ShareX.Properties;
|
using ShareX.Properties;
|
||||||
using ShareX.ScreenCaptureLib;
|
using ShareX.ScreenCaptureLib;
|
||||||
using ShareX.UploadersLib;
|
using ShareX.UploadersLib;
|
||||||
|
@ -96,6 +97,8 @@ private void InitializeControls()
|
||||||
|
|
||||||
AddMultiEnumItems<AfterCaptureTasks>(x => Program.DefaultTaskSettings.AfterCaptureJob = Program.DefaultTaskSettings.AfterCaptureJob.Swap(x),
|
AddMultiEnumItems<AfterCaptureTasks>(x => Program.DefaultTaskSettings.AfterCaptureJob = Program.DefaultTaskSettings.AfterCaptureJob.Swap(x),
|
||||||
tsddbAfterCaptureTasks, tsmiTrayAfterCaptureTasks);
|
tsddbAfterCaptureTasks, tsmiTrayAfterCaptureTasks);
|
||||||
|
tsddbAfterCaptureTasks.DropDownOpening += TsddbAfterCaptureTasks_DropDownOpening;
|
||||||
|
tsmiTrayAfterCaptureTasks.DropDownOpening += TsmiTrayAfterCaptureTasks_DropDownOpening;
|
||||||
AddMultiEnumItems<AfterUploadTasks>(x => Program.DefaultTaskSettings.AfterUploadJob = Program.DefaultTaskSettings.AfterUploadJob.Swap(x),
|
AddMultiEnumItems<AfterUploadTasks>(x => Program.DefaultTaskSettings.AfterUploadJob = Program.DefaultTaskSettings.AfterUploadJob.Swap(x),
|
||||||
tsddbAfterUploadTasks, tsmiTrayAfterUploadTasks);
|
tsddbAfterUploadTasks, tsmiTrayAfterUploadTasks);
|
||||||
AddEnumItems<ImageDestination>(x =>
|
AddEnumItems<ImageDestination>(x =>
|
||||||
|
@ -491,15 +494,16 @@ private void UpdateDestinationStates()
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
private void AddEnumItems<T>(Action<T> selectedEnum, params ToolStripDropDownItem[] parents)
|
private void AddEnumItems<T>(Action<T> selectedEnum, params ToolStripDropDownItem[] parents) where T : Enum
|
||||||
{
|
{
|
||||||
string[] enums = Helpers.GetLocalizedEnumDescriptions<T>();
|
T[] enums = Helpers.GetEnums<T>();
|
||||||
|
|
||||||
foreach (ToolStripDropDownItem parent in parents)
|
foreach (ToolStripDropDownItem parent in parents)
|
||||||
{
|
{
|
||||||
for (int i = 0; i < enums.Length; i++)
|
for (int i = 0; i < enums.Length; i++)
|
||||||
{
|
{
|
||||||
ToolStripMenuItem tsmi = new ToolStripMenuItem(enums[i]);
|
T currentEnum = enums[i];
|
||||||
|
ToolStripMenuItem tsmi = new ToolStripMenuItem(currentEnum.GetLocalizedDescription());
|
||||||
|
|
||||||
int index = i;
|
int index = i;
|
||||||
|
|
||||||
|
@ -514,7 +518,7 @@ private void AddEnumItems<T>(Action<T> selectedEnum, params ToolStripDropDownIte
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
selectedEnum((T)Enum.ToObject(typeof(T), index));
|
selectedEnum(currentEnum);
|
||||||
|
|
||||||
UpdateUploaderMenuNames();
|
UpdateUploaderMenuNames();
|
||||||
};
|
};
|
||||||
|
@ -552,14 +556,15 @@ private static void SetEnumChecked(Enum value, params ToolStripDropDownItem[] pa
|
||||||
|
|
||||||
private void AddMultiEnumItems<T>(Action<T> selectedEnum, params ToolStripDropDownItem[] parents) where T : Enum
|
private void AddMultiEnumItems<T>(Action<T> selectedEnum, params ToolStripDropDownItem[] parents) where T : Enum
|
||||||
{
|
{
|
||||||
string[] enums = Helpers.GetLocalizedEnumDescriptions<T>().Skip(1).ToArray();
|
T[] enums = Helpers.GetEnums<T>().Skip(1).ToArray();
|
||||||
|
|
||||||
foreach (ToolStripDropDownItem parent in parents)
|
foreach (ToolStripDropDownItem parent in parents)
|
||||||
{
|
{
|
||||||
for (int i = 0; i < enums.Length; i++)
|
for (int i = 0; i < enums.Length; i++)
|
||||||
{
|
{
|
||||||
ToolStripMenuItem tsmi = new ToolStripMenuItem(enums[i]);
|
T currentEnum = enums[i];
|
||||||
tsmi.Image = TaskHelpers.FindMenuIcon<T>(i + 1);
|
ToolStripMenuItem tsmi = new ToolStripMenuItem(currentEnum.GetLocalizedDescription());
|
||||||
|
tsmi.Image = TaskHelpers.FindMenuIcon(currentEnum);
|
||||||
|
|
||||||
int index = i;
|
int index = i;
|
||||||
|
|
||||||
|
@ -571,7 +576,7 @@ private void AddMultiEnumItems<T>(Action<T> selectedEnum, params ToolStripDropDo
|
||||||
tsmi2.Checked = !tsmi2.Checked;
|
tsmi2.Checked = !tsmi2.Checked;
|
||||||
}
|
}
|
||||||
|
|
||||||
selectedEnum((T)Enum.ToObject(typeof(T), 1 << index));
|
selectedEnum(currentEnum);
|
||||||
|
|
||||||
UpdateUploaderMenuNames();
|
UpdateUploaderMenuNames();
|
||||||
};
|
};
|
||||||
|
@ -581,6 +586,27 @@ private void AddMultiEnumItems<T>(Action<T> selectedEnum, params ToolStripDropDo
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
private void UpdateImageEffectsMenu(ToolStripDropDownItem parent)
|
||||||
|
{
|
||||||
|
int indexAddImageEffects = (int)AfterCaptureTasks.AddImageEffects - 1;
|
||||||
|
ToolStripMenuItem tsmiAddImageEffects = (ToolStripMenuItem)parent.DropDownItems[indexAddImageEffects];
|
||||||
|
tsmiAddImageEffects.DropDownItems.Clear();
|
||||||
|
|
||||||
|
for (int i = 0; i < Program.DefaultTaskSettings.ImageSettings.ImageEffectPresets.Count; i++)
|
||||||
|
{
|
||||||
|
ImageEffectPreset effectPreset = Program.DefaultTaskSettings.ImageSettings.ImageEffectPresets[i];
|
||||||
|
ToolStripMenuItem tsmi = new ToolStripMenuItem(effectPreset.ToString());
|
||||||
|
tsmi.Checked = i == Program.DefaultTaskSettings.ImageSettings.SelectedImageEffectPreset;
|
||||||
|
int indexSelected = i;
|
||||||
|
tsmi.Click += (sender, e) =>
|
||||||
|
{
|
||||||
|
Program.DefaultTaskSettings.ImageSettings.SelectedImageEffectPreset = indexSelected;
|
||||||
|
((ToolStripMenuItem)tsmiAddImageEffects.DropDownItems[indexSelected]).RadioCheck();
|
||||||
|
};
|
||||||
|
tsmiAddImageEffects.DropDownItems.Add(tsmi);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
private void SetMultiEnumChecked(Enum value, params ToolStripDropDownItem[] parents)
|
private void SetMultiEnumChecked(Enum value, params ToolStripDropDownItem[] parents)
|
||||||
{
|
{
|
||||||
for (int i = 0; i < parents[0].DropDownItems.Count; i++)
|
for (int i = 0; i < parents[0].DropDownItems.Count; i++)
|
||||||
|
@ -1820,6 +1846,16 @@ private void tsmiMonitorTest_Click(object sender, EventArgs e)
|
||||||
TaskHelpers.OpenMonitorTest();
|
TaskHelpers.OpenMonitorTest();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
private void TsddbAfterCaptureTasks_DropDownOpening(object sender, EventArgs e)
|
||||||
|
{
|
||||||
|
UpdateImageEffectsMenu(tsddbAfterCaptureTasks);
|
||||||
|
}
|
||||||
|
|
||||||
|
private void TsmiTrayAfterCaptureTasks_DropDownOpening(object sender, EventArgs e)
|
||||||
|
{
|
||||||
|
UpdateImageEffectsMenu(tsmiTrayAfterCaptureTasks);
|
||||||
|
}
|
||||||
|
|
||||||
private void tsddbDestinations_DropDownOpened(object sender, EventArgs e)
|
private void tsddbDestinations_DropDownOpened(object sender, EventArgs e)
|
||||||
{
|
{
|
||||||
UpdateDestinationStates();
|
UpdateDestinationStates();
|
||||||
|
|
Loading…
Reference in a new issue