mirror of
https://github.com/ShareX/ShareX.git
synced 2024-09-30 01:07:21 +13:00
Added "Aliases" support to CustomUploaderFunction, renamed "{prompt}" to "{inputbox}", renamed "{output}" to "{outputbox}"
This commit is contained in:
parent
00bdb927ea
commit
e814747957
5 changed files with 30 additions and 17 deletions
|
@ -29,6 +29,8 @@ internal abstract class CustomUploaderFunction
|
|||
{
|
||||
public abstract string Name { get; }
|
||||
|
||||
public virtual string[] Aliases { get; }
|
||||
|
||||
public virtual int MinParameterCount { get; } = 0;
|
||||
|
||||
public abstract string Call(ShareXCustomUploaderSyntaxParser parser, string[] parameters);
|
||||
|
|
|
@ -28,16 +28,18 @@ You should have received a copy of the GNU General Public License
|
|||
|
||||
namespace ShareX.UploadersLib
|
||||
{
|
||||
// Example: {prompt}
|
||||
// Example: {prompt:title}
|
||||
// Example: {prompt:title|default text}
|
||||
internal class CustomUploaderFunctionPrompt : CustomUploaderFunction
|
||||
// Example: {inputbox}
|
||||
// Example: {inputbox:title}
|
||||
// Example: {inputbox:title|default text}
|
||||
internal class CustomUploaderFunctionInputBox : CustomUploaderFunction
|
||||
{
|
||||
public override string Name { get; } = "prompt";
|
||||
public override string Name { get; } = "inputbox";
|
||||
|
||||
public override string[] Aliases { get; } = new string[] { "prompt" };
|
||||
|
||||
public override string Call(ShareXCustomUploaderSyntaxParser parser, string[] parameters)
|
||||
{
|
||||
string title = "ShareX - Prompt";
|
||||
string title = "Input";
|
||||
string defaultText = "";
|
||||
|
||||
if (parameters.Length > 0)
|
|
@ -27,30 +27,37 @@ You should have received a copy of the GNU General Public License
|
|||
|
||||
namespace ShareX.UploadersLib
|
||||
{
|
||||
// Example: {output:text}
|
||||
// Example: {output:title|text}
|
||||
internal class CustomUploaderFunctionOutput : CustomUploaderFunction
|
||||
// Example: {outputbox:text}
|
||||
// Example: {outputbox:title|text}
|
||||
internal class CustomUploaderFunctionOutputBox : CustomUploaderFunction
|
||||
{
|
||||
public override string Name { get; } = "output";
|
||||
public override string Name { get; } = "outputbox";
|
||||
|
||||
public override int MinParameterCount { get; } = 1;
|
||||
|
||||
public override string Call(ShareXCustomUploaderSyntaxParser parser, string[] parameters)
|
||||
{
|
||||
string text, title;
|
||||
string text, title = null;
|
||||
|
||||
if (parameters.Length > 1)
|
||||
{
|
||||
text = parameters[1];
|
||||
title = parameters[0];
|
||||
text = parameters[1];
|
||||
}
|
||||
else
|
||||
{
|
||||
text = parameters[0];
|
||||
title = "ShareX - Output";
|
||||
}
|
||||
|
||||
OutputBox.Show(text, title);
|
||||
if (!string.IsNullOrEmpty(text))
|
||||
{
|
||||
if (string.IsNullOrEmpty(title))
|
||||
{
|
||||
title = "Output";
|
||||
}
|
||||
|
||||
OutputBox.Show(text, title);
|
||||
}
|
||||
|
||||
return null;
|
||||
}
|
|
@ -26,6 +26,7 @@ You should have received a copy of the GNU General Public License
|
|||
using ShareX.HelpersLib;
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
|
||||
namespace ShareX.UploadersLib
|
||||
{
|
||||
|
@ -72,7 +73,8 @@ protected override string CallFunction(string functionName, string[] parameters
|
|||
|
||||
foreach (CustomUploaderFunction function in Functions)
|
||||
{
|
||||
if (function.Name.Equals(functionName, StringComparison.OrdinalIgnoreCase))
|
||||
if (function.Name.Equals(functionName, StringComparison.OrdinalIgnoreCase) ||
|
||||
(function.Aliases != null && function.Aliases.Any(x => x.Equals(functionName, StringComparison.OrdinalIgnoreCase))))
|
||||
{
|
||||
if (function.MinParameterCount > 0 && (parameters == null || parameters.Length < function.MinParameterCount))
|
||||
{
|
||||
|
|
|
@ -133,10 +133,10 @@
|
|||
<Compile Include="CustomUploader\Functions\CustomUploaderFunctionBase64.cs" />
|
||||
<Compile Include="CustomUploader\Functions\CustomUploaderFunctionFileName.cs" />
|
||||
<Compile Include="CustomUploader\Functions\CustomUploaderFunctionInput.cs" />
|
||||
<Compile Include="CustomUploader\Functions\CustomUploaderFunctionOutput.cs" />
|
||||
<Compile Include="CustomUploader\Functions\CustomUploaderFunctionOutputBox.cs" />
|
||||
<Compile Include="CustomUploader\Functions\CustomUploaderFunctionResponseURL.cs" />
|
||||
<Compile Include="CustomUploader\Functions\CustomUploaderFunctionResponse.cs" />
|
||||
<Compile Include="CustomUploader\Functions\CustomUploaderFunctionPrompt.cs" />
|
||||
<Compile Include="CustomUploader\Functions\CustomUploaderFunctionInputBox.cs" />
|
||||
<Compile Include="CustomUploader\Functions\CustomUploaderFunctionSelect.cs" />
|
||||
<Compile Include="CustomUploader\Functions\CustomUploaderFunctionRandom.cs" />
|
||||
<Compile Include="CustomUploader\Functions\CustomUploaderFunctionXml.cs" />
|
||||
|
|
Loading…
Reference in a new issue