public CustomUploaderSettingsForm(UploadersConfig config) { Config = config; InitializeComponent(); /* * CodeMenuItem[] inputCodeMenuItems = new CodeMenuItem[] * { * new CodeMenuItem("$input$", "Text/URL input"), * new CodeMenuItem("$filename$", "File name"), * 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") * }; */ 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") }; new CodeMenu(rtbResultURL, outputCodeMenuItems); new CodeMenu(rtbResultThumbnailURL, outputCodeMenuItems); new CodeMenu(rtbResultDeletionURL, outputCodeMenuItems); new CodeMenu(rtbResultErrorMessage, outputCodeMenuItems); rtbRequestURL.AddContextMenu(); rtbData.AddContextMenu(); rtbResultURL.AddContextMenu(); rtbResultThumbnailURL.AddContextMenu(); rtbResultDeletionURL.AddContextMenu(); rtbResultErrorMessage.AddContextMenu(); eiCustomUploaders.ObjectType = typeof(CustomUploaderItem); CustomUploaderAddDestinationTypes(); cbRequestMethod.Items.AddRange(Enum.GetNames(typeof(HttpMethod))); cbBody.Items.AddRange(Helpers.GetEnumDescriptions <CustomUploaderBody>()); ShareXResources.ApplyTheme(this); CustomUploaderLoadTab(); }
public CustomUploaderSyntaxTestForm(ResponseInfo responseInfo, string urlSyntax) { InitializeComponent(); testResponseInfo = responseInfo; if (testResponseInfo == null) { testResponseInfo = new ResponseInfo() { ResponseText = "{\r\n \"status\": 200,\r\n \"data\": {\r\n \"link\": \"https:\\/\\/example.com\\/image.png\"\r\n }\r\n}", ResponseURL = "https://example.com/upload" }; } if (string.IsNullOrEmpty(urlSyntax)) { urlSyntax = "{json:data.link}"; } rtbResponseText.Text = testResponseInfo.ResponseText; rtbURLSyntax.Text = urlSyntax; rtbURLSyntax.Select(rtbURLSyntax.TextLength, 0); 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 JSON response using JSONPath"), new CodeMenuItem("{xml:path}", "Parse XML response using XPath"), new CodeMenuItem("{regex:pattern|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") }; new CodeMenu(rtbURLSyntax, outputCodeMenuItems) { MenuLocationOffset = new Point(5, -3) }; rtbURLSyntax.AddContextMenu(); ShareXResources.ApplyTheme(this); CustomUploaderSyntaxHighlight(rtbURLSyntax); UpdatePreview(); }