mirror of
https://github.com/ShareX/ShareX.git
synced 2024-09-30 01:07:21 +13:00
Added syntax menu to custom uploader URL text boxes
This commit is contained in:
parent
b19e0ee83c
commit
017c19cd21
2 changed files with 41 additions and 17 deletions
|
@ -40,14 +40,6 @@ public static ContextMenuStrip Create<TEntry>(TextBoxBase tb, params TEntry[] ig
|
|||
|
||||
public static ContextMenuStrip Create<TEntry>(TextBoxBase tb, TEntry[] ignoreList, CodeMenuItem[] extraItems) where TEntry : CodeMenuEntry
|
||||
{
|
||||
ContextMenuStrip cms = new ContextMenuStrip
|
||||
{
|
||||
Font = new Font("Lucida Console", 8),
|
||||
AutoClose = false,
|
||||
Opacity = 0.9,
|
||||
ShowImageMargin = false
|
||||
};
|
||||
|
||||
List<CodeMenuItem> items = new List<CodeMenuItem>();
|
||||
|
||||
if (extraItems != null)
|
||||
|
@ -60,6 +52,19 @@ public static ContextMenuStrip Create<TEntry>(TextBoxBase tb, TEntry[] ignoreLis
|
|||
|
||||
items.AddRange(variables);
|
||||
|
||||
return Create(tb, items.ToArray());
|
||||
}
|
||||
|
||||
public static ContextMenuStrip Create(TextBoxBase tb, CodeMenuItem[] items)
|
||||
{
|
||||
ContextMenuStrip cms = new ContextMenuStrip
|
||||
{
|
||||
Font = new Font("Lucida Console", 8),
|
||||
AutoClose = false,
|
||||
Opacity = 0.9,
|
||||
ShowImageMargin = false
|
||||
};
|
||||
|
||||
foreach (CodeMenuItem item in items)
|
||||
{
|
||||
ToolStripMenuItem tsmi = new ToolStripMenuItem { Text = $"{item.Name} - {item.Description}", Tag = item.Name };
|
||||
|
|
|
@ -109,19 +109,38 @@ private void InitializeControls()
|
|||
cbFTPSEncryption.Items.AddRange(Enum.GetNames(typeof(FTPSEncryption)));
|
||||
eiFTP.ObjectType = typeof(FTPAccount);
|
||||
|
||||
// Custom uploader
|
||||
CodeMenuItem codeMenuItemInput = new CodeMenuItem("$input$", "Text/URL input");
|
||||
CodeMenuItem codeMenuItemFilename = new CodeMenuItem("$filename$", "File name");
|
||||
// Custom uploaders
|
||||
CodeMenuItem[] inputCodeMenuItems = new CodeMenuItem[]
|
||||
{
|
||||
new CodeMenuItem("$input$", "Text/URL input"),
|
||||
new CodeMenuItem("$filename$", "File name")
|
||||
};
|
||||
|
||||
CodeMenu.Create<CodeMenuEntryFilename>(rtbCustomUploaderParameterValue,
|
||||
new CodeMenuEntryFilename[] { CodeMenuEntryFilename.n, CodeMenuEntryFilename.t, CodeMenuEntryFilename.pn },
|
||||
new CodeMenuItem[] { codeMenuItemInput, codeMenuItemFilename });
|
||||
new CodeMenuEntryFilename[] { CodeMenuEntryFilename.n, CodeMenuEntryFilename.t, CodeMenuEntryFilename.pn }, inputCodeMenuItems);
|
||||
CodeMenu.Create<CodeMenuEntryFilename>(rtbCustomUploaderHeaderValue,
|
||||
new CodeMenuEntryFilename[] { CodeMenuEntryFilename.n, CodeMenuEntryFilename.t, CodeMenuEntryFilename.pn },
|
||||
new CodeMenuItem[] { codeMenuItemInput, codeMenuItemFilename });
|
||||
new CodeMenuEntryFilename[] { CodeMenuEntryFilename.n, CodeMenuEntryFilename.t, CodeMenuEntryFilename.pn }, inputCodeMenuItems);
|
||||
CodeMenu.Create<CodeMenuEntryFilename>(rtbCustomUploaderArgumentValue,
|
||||
new CodeMenuEntryFilename[] { CodeMenuEntryFilename.n, CodeMenuEntryFilename.t, CodeMenuEntryFilename.pn },
|
||||
new CodeMenuItem[] { codeMenuItemInput, codeMenuItemFilename });
|
||||
new CodeMenuEntryFilename[] { CodeMenuEntryFilename.n, CodeMenuEntryFilename.t, CodeMenuEntryFilename.pn }, inputCodeMenuItems);
|
||||
|
||||
CodeMenuItem[] outputCodeMenuItems = new CodeMenuItem[]
|
||||
{
|
||||
new CodeMenuItem("$response$", "Response text"),
|
||||
new CodeMenuItem("$responseurl$", "Response/Redirection URL"),
|
||||
new CodeMenuItem("$header:header_name$", "Response header"),
|
||||
new CodeMenuItem("$json:path$", "Parse response using JSON"),
|
||||
new CodeMenuItem("$xml:path$", "Parse response using XML"),
|
||||
new CodeMenuItem("$regex:index|group$", "Parse response using Regex"),
|
||||
new CodeMenuItem("$filename$", "File name used when uploading"),
|
||||
new CodeMenuItem("$random:input1|input2$", "Random selection from list"),
|
||||
new CodeMenuItem("$select:input1|input2$", "Lets user to select one input from list"),
|
||||
new CodeMenuItem("$prompt:title|default_value$", "Lets user to input text"),
|
||||
new CodeMenuItem("$base64:input$", "Base64 encode input")
|
||||
};
|
||||
|
||||
CodeMenu.Create(rtbCustomUploaderURL, outputCodeMenuItems);
|
||||
CodeMenu.Create(rtbCustomUploaderThumbnailURL, outputCodeMenuItems);
|
||||
CodeMenu.Create(rtbCustomUploaderDeletionURL, outputCodeMenuItems);
|
||||
|
||||
rtbCustomUploaderRequestURL.AddContextMenu();
|
||||
rtbCustomUploaderParameterValue.AddContextMenu();
|
||||
|
|
Loading…
Reference in a new issue