mirror of
https://github.com/ShareX/ShareX.git
synced 2024-10-01 17:56:51 +13:00
Custom uploader destination type works now
This commit is contained in:
parent
88b82ddeab
commit
83f1fb6995
2 changed files with 52 additions and 33 deletions
|
@ -121,7 +121,7 @@ private void InitializeControls()
|
|||
eiCustomUploaders.ObjectType = typeof(CustomUploaderItem);
|
||||
|
||||
txtCustomUploaderName.HandleCreated += (sender, e) => txtCustomUploaderName.SetWatermark("Name");
|
||||
AddMultiEnumItemsContextMenu(x => SwapCustomUploaderDestinationType(x), cmsCustomUploaderDestinationType);
|
||||
AddCustomUploaderDestinationTypes();
|
||||
|
||||
#if DEBUG
|
||||
btnCheveretoTestAll.Visible = true;
|
||||
|
@ -129,10 +129,6 @@ private void InitializeControls()
|
|||
#endif
|
||||
}
|
||||
|
||||
private void SwapCustomUploaderDestinationType(CustomUploaderDestinationType type)
|
||||
{
|
||||
}
|
||||
|
||||
private void AddIconToTabs()
|
||||
{
|
||||
uploadersImageList = new ImageList();
|
||||
|
@ -173,34 +169,6 @@ public void NavigateToTabPage(TabPage tp)
|
|||
}
|
||||
}
|
||||
|
||||
private void AddMultiEnumItemsContextMenu(Action<CustomUploaderDestinationType> selectedEnum, params ToolStripDropDown[] parents)
|
||||
{
|
||||
string[] enums = Helpers.GetLocalizedEnumDescriptions<CustomUploaderDestinationType>().Skip(1).Select(x => x.Replace("&", "&&")).ToArray();
|
||||
|
||||
foreach (ToolStripDropDown parent in parents)
|
||||
{
|
||||
for (int i = 0; i < enums.Length; i++)
|
||||
{
|
||||
ToolStripMenuItem tsmi = new ToolStripMenuItem(enums[i]);
|
||||
|
||||
int index = i;
|
||||
|
||||
tsmi.Click += (sender, e) =>
|
||||
{
|
||||
foreach (ToolStripDropDown parent2 in parents)
|
||||
{
|
||||
ToolStripMenuItem tsmi2 = (ToolStripMenuItem)parent2.Items[index];
|
||||
tsmi2.Checked = !tsmi2.Checked;
|
||||
}
|
||||
|
||||
selectedEnum((CustomUploaderDestinationType)Enum.ToObject(typeof(CustomUploaderDestinationType), 1 << index));
|
||||
};
|
||||
|
||||
parent.Items.Add(tsmi);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
public void LoadSettings()
|
||||
{
|
||||
#region Image uploaders
|
||||
|
|
|
@ -1486,6 +1486,54 @@ public void BitlyAuthComplete(string code)
|
|||
|
||||
#region Custom uploader
|
||||
|
||||
private void AddCustomUploaderDestinationTypes()
|
||||
{
|
||||
string[] enums = Helpers.GetLocalizedEnumDescriptions<CustomUploaderDestinationType>().Skip(1).Select(x => x.Replace("&", "&&")).ToArray();
|
||||
|
||||
for (int i = 0; i < enums.Length; i++)
|
||||
{
|
||||
ToolStripMenuItem tsmi = new ToolStripMenuItem(enums[i]);
|
||||
|
||||
int index = i;
|
||||
|
||||
tsmi.Click += (sender, e) =>
|
||||
{
|
||||
ToolStripMenuItem tsmi2 = (ToolStripMenuItem)cmsCustomUploaderDestinationType.Items[index];
|
||||
tsmi2.Checked = !tsmi2.Checked;
|
||||
};
|
||||
|
||||
cmsCustomUploaderDestinationType.Items.Add(tsmi);
|
||||
}
|
||||
|
||||
cmsCustomUploaderDestinationType.Closing += (sender, e) => e.Cancel = e.CloseReason == ToolStripDropDownCloseReason.ItemClicked;
|
||||
}
|
||||
|
||||
private void SetCustomUploaderDestinationType(CustomUploaderDestinationType destinationType)
|
||||
{
|
||||
for (int i = 0; i < cmsCustomUploaderDestinationType.Items.Count; i++)
|
||||
{
|
||||
ToolStripMenuItem tsmi = (ToolStripMenuItem)cmsCustomUploaderDestinationType.Items[i];
|
||||
tsmi.Checked = destinationType.HasFlag(1 << i);
|
||||
}
|
||||
}
|
||||
|
||||
private CustomUploaderDestinationType GetCustomUploaderDestinationType()
|
||||
{
|
||||
CustomUploaderDestinationType destinationType = CustomUploaderDestinationType.None;
|
||||
|
||||
for (int i = 0; i < cmsCustomUploaderDestinationType.Items.Count; i++)
|
||||
{
|
||||
ToolStripMenuItem tsmi = (ToolStripMenuItem)cmsCustomUploaderDestinationType.Items[i];
|
||||
|
||||
if (tsmi.Checked)
|
||||
{
|
||||
destinationType |= (CustomUploaderDestinationType)(1 << i);
|
||||
}
|
||||
}
|
||||
|
||||
return destinationType;
|
||||
}
|
||||
|
||||
private void UpdateCustomUploader()
|
||||
{
|
||||
int index = lbCustomUploaderList.SelectedIndex;
|
||||
|
@ -1622,6 +1670,7 @@ private void PrepareCustomUploaderList()
|
|||
private void LoadCustomUploader(CustomUploaderItem customUploader)
|
||||
{
|
||||
txtCustomUploaderName.Text = customUploader.Name ?? "";
|
||||
SetCustomUploaderDestinationType(customUploader.DestinationType);
|
||||
|
||||
cbCustomUploaderRequestType.SelectedIndex = (int)customUploader.RequestType;
|
||||
txtCustomUploaderRequestURL.Text = customUploader.RequestURL ?? "";
|
||||
|
@ -1672,6 +1721,8 @@ private CustomUploaderItem GetCustomUploaderFromFields()
|
|||
{
|
||||
CustomUploaderItem item = new CustomUploaderItem(txtCustomUploaderName.Text);
|
||||
|
||||
item.DestinationType = GetCustomUploaderDestinationType();
|
||||
|
||||
item.RequestType = (CustomUploaderRequestType)cbCustomUploaderRequestType.SelectedIndex;
|
||||
|
||||
item.RequestURL = txtCustomUploaderRequestURL.Text;
|
||||
|
|
Loading…
Reference in a new issue