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);
|
eiCustomUploaders.ObjectType = typeof(CustomUploaderItem);
|
||||||
|
|
||||||
txtCustomUploaderName.HandleCreated += (sender, e) => txtCustomUploaderName.SetWatermark("Name");
|
txtCustomUploaderName.HandleCreated += (sender, e) => txtCustomUploaderName.SetWatermark("Name");
|
||||||
AddMultiEnumItemsContextMenu(x => SwapCustomUploaderDestinationType(x), cmsCustomUploaderDestinationType);
|
AddCustomUploaderDestinationTypes();
|
||||||
|
|
||||||
#if DEBUG
|
#if DEBUG
|
||||||
btnCheveretoTestAll.Visible = true;
|
btnCheveretoTestAll.Visible = true;
|
||||||
|
@ -129,10 +129,6 @@ private void InitializeControls()
|
||||||
#endif
|
#endif
|
||||||
}
|
}
|
||||||
|
|
||||||
private void SwapCustomUploaderDestinationType(CustomUploaderDestinationType type)
|
|
||||||
{
|
|
||||||
}
|
|
||||||
|
|
||||||
private void AddIconToTabs()
|
private void AddIconToTabs()
|
||||||
{
|
{
|
||||||
uploadersImageList = new ImageList();
|
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()
|
public void LoadSettings()
|
||||||
{
|
{
|
||||||
#region Image uploaders
|
#region Image uploaders
|
||||||
|
|
|
@ -1486,6 +1486,54 @@ public void BitlyAuthComplete(string code)
|
||||||
|
|
||||||
#region Custom uploader
|
#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()
|
private void UpdateCustomUploader()
|
||||||
{
|
{
|
||||||
int index = lbCustomUploaderList.SelectedIndex;
|
int index = lbCustomUploaderList.SelectedIndex;
|
||||||
|
@ -1622,6 +1670,7 @@ private void PrepareCustomUploaderList()
|
||||||
private void LoadCustomUploader(CustomUploaderItem customUploader)
|
private void LoadCustomUploader(CustomUploaderItem customUploader)
|
||||||
{
|
{
|
||||||
txtCustomUploaderName.Text = customUploader.Name ?? "";
|
txtCustomUploaderName.Text = customUploader.Name ?? "";
|
||||||
|
SetCustomUploaderDestinationType(customUploader.DestinationType);
|
||||||
|
|
||||||
cbCustomUploaderRequestType.SelectedIndex = (int)customUploader.RequestType;
|
cbCustomUploaderRequestType.SelectedIndex = (int)customUploader.RequestType;
|
||||||
txtCustomUploaderRequestURL.Text = customUploader.RequestURL ?? "";
|
txtCustomUploaderRequestURL.Text = customUploader.RequestURL ?? "";
|
||||||
|
@ -1672,6 +1721,8 @@ private CustomUploaderItem GetCustomUploaderFromFields()
|
||||||
{
|
{
|
||||||
CustomUploaderItem item = new CustomUploaderItem(txtCustomUploaderName.Text);
|
CustomUploaderItem item = new CustomUploaderItem(txtCustomUploaderName.Text);
|
||||||
|
|
||||||
|
item.DestinationType = GetCustomUploaderDestinationType();
|
||||||
|
|
||||||
item.RequestType = (CustomUploaderRequestType)cbCustomUploaderRequestType.SelectedIndex;
|
item.RequestType = (CustomUploaderRequestType)cbCustomUploaderRequestType.SelectedIndex;
|
||||||
|
|
||||||
item.RequestURL = txtCustomUploaderRequestURL.Text;
|
item.RequestURL = txtCustomUploaderRequestURL.Text;
|
||||||
|
|
Loading…
Reference in a new issue