Custom uploader destination type works now

This commit is contained in:
Jaex 2017-01-15 01:34:53 +03:00
parent 88b82ddeab
commit 83f1fb6995
2 changed files with 52 additions and 33 deletions

View file

@ -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

View file

@ -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;