mirror of
https://github.com/ShareX/ShareX.git
synced 2024-09-30 01:07:21 +13:00
Storing application version in custom uploader JSON to be able to better support backward compatibility
This commit is contained in:
parent
b24fbf69b5
commit
f4d8ed3b1e
5 changed files with 42 additions and 37 deletions
|
@ -29,11 +29,15 @@ You should have received a copy of the GNU General Public License
|
||||||
using System.Collections.Generic;
|
using System.Collections.Generic;
|
||||||
using System.Collections.Specialized;
|
using System.Collections.Specialized;
|
||||||
using System.ComponentModel;
|
using System.ComponentModel;
|
||||||
|
using System.Windows.Forms;
|
||||||
|
|
||||||
namespace ShareX.UploadersLib
|
namespace ShareX.UploadersLib
|
||||||
{
|
{
|
||||||
public class CustomUploaderItem
|
public class CustomUploaderItem
|
||||||
{
|
{
|
||||||
|
[DefaultValue("")]
|
||||||
|
public string Version { get; set; }
|
||||||
|
|
||||||
[DefaultValue("")]
|
[DefaultValue("")]
|
||||||
public string Name { get; set; }
|
public string Name { get; set; }
|
||||||
|
|
||||||
|
@ -48,20 +52,8 @@ public class CustomUploaderItem
|
||||||
[DefaultValue("")]
|
[DefaultValue("")]
|
||||||
public string RequestURL { get; set; }
|
public string RequestURL { get; set; }
|
||||||
|
|
||||||
private CustomUploaderRequestFormat requestFormat;
|
|
||||||
|
|
||||||
[DefaultValue(CustomUploaderRequestFormat.None)]
|
[DefaultValue(CustomUploaderRequestFormat.None)]
|
||||||
public CustomUploaderRequestFormat RequestFormat
|
public CustomUploaderRequestFormat RequestFormat { get; set; }
|
||||||
{
|
|
||||||
get
|
|
||||||
{
|
|
||||||
return CheckRequestFormat(requestFormat);
|
|
||||||
}
|
|
||||||
set
|
|
||||||
{
|
|
||||||
requestFormat = value;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
[DefaultValue("")]
|
[DefaultValue("")]
|
||||||
public string FileFormName { get; set; }
|
public string FileFormName { get; set; }
|
||||||
|
@ -141,24 +133,6 @@ public string GetRequestURL(CustomUploaderInput input)
|
||||||
return URLHelpers.FixPrefix(url);
|
return URLHelpers.FixPrefix(url);
|
||||||
}
|
}
|
||||||
|
|
||||||
private CustomUploaderRequestFormat CheckRequestFormat(CustomUploaderRequestFormat format)
|
|
||||||
{
|
|
||||||
// For backward compatibility
|
|
||||||
if (format == CustomUploaderRequestFormat.None)
|
|
||||||
{
|
|
||||||
if (RequestType == HttpMethod.POST)
|
|
||||||
{
|
|
||||||
return CustomUploaderRequestFormat.MultipartFormData;
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
return CustomUploaderRequestFormat.URLQueryString;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
return format;
|
|
||||||
}
|
|
||||||
|
|
||||||
public string GetData(CustomUploaderInput input)
|
public string GetData(CustomUploaderInput input)
|
||||||
{
|
{
|
||||||
CustomUploaderParser parser = new CustomUploaderParser(input);
|
CustomUploaderParser parser = new CustomUploaderParser(input);
|
||||||
|
@ -248,5 +222,22 @@ public void ParseResponse(UploadResult result, CustomUploaderInput input, bool i
|
||||||
result.DeletionURL = parser.Parse(DeletionURL);
|
result.DeletionURL = parser.Parse(DeletionURL);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public void CheckBackwardCompatibility()
|
||||||
|
{
|
||||||
|
if (string.IsNullOrEmpty(Version) || Helpers.CompareVersion(Version, "12.3.1") <= 0)
|
||||||
|
{
|
||||||
|
if (RequestType == HttpMethod.POST)
|
||||||
|
{
|
||||||
|
RequestFormat = CustomUploaderRequestFormat.MultipartFormData;
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
RequestFormat = CustomUploaderRequestFormat.URLQueryString;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
Version = Application.ProductVersion;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
|
@ -3481,7 +3481,9 @@ private object eiCustomUploaders_ExportRequested()
|
||||||
|
|
||||||
private void eiCustomUploaders_ImportRequested(object obj)
|
private void eiCustomUploaders_ImportRequested(object obj)
|
||||||
{
|
{
|
||||||
CustomUploaderAdd(obj as CustomUploaderItem);
|
CustomUploaderItem uploader = obj as CustomUploaderItem;
|
||||||
|
uploader.CheckBackwardCompatibility();
|
||||||
|
CustomUploaderAdd(uploader);
|
||||||
CustomUploaderUpdateStates();
|
CustomUploaderUpdateStates();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -931,7 +931,12 @@ private CustomUploaderItem CustomUploaderGetSelected()
|
||||||
|
|
||||||
private void CustomUploaderAdd()
|
private void CustomUploaderAdd()
|
||||||
{
|
{
|
||||||
CustomUploaderAdd(new CustomUploaderItem());
|
CustomUploaderItem uploader = new CustomUploaderItem()
|
||||||
|
{
|
||||||
|
Version = Application.ProductVersion
|
||||||
|
};
|
||||||
|
|
||||||
|
CustomUploaderAdd(uploader);
|
||||||
}
|
}
|
||||||
|
|
||||||
private void CustomUploaderAdd(CustomUploaderItem uploader)
|
private void CustomUploaderAdd(CustomUploaderItem uploader)
|
||||||
|
|
|
@ -110,15 +110,11 @@ public static void LoadInitialSettings()
|
||||||
{
|
{
|
||||||
LoadApplicationConfig();
|
LoadApplicationConfig();
|
||||||
|
|
||||||
ApplicationConfigBackwardCompatibilityTasks();
|
|
||||||
|
|
||||||
Task.Run(() =>
|
Task.Run(() =>
|
||||||
{
|
{
|
||||||
LoadUploadersConfig();
|
LoadUploadersConfig();
|
||||||
uploadersConfigResetEvent.Set();
|
uploadersConfigResetEvent.Set();
|
||||||
|
|
||||||
UploadersConfigBackwardCompatibilityTasks();
|
|
||||||
|
|
||||||
LoadHotkeysConfig();
|
LoadHotkeysConfig();
|
||||||
hotkeysConfigResetEvent.Set();
|
hotkeysConfigResetEvent.Set();
|
||||||
});
|
});
|
||||||
|
@ -143,12 +139,14 @@ public static void WaitHotkeysConfig()
|
||||||
public static void LoadApplicationConfig()
|
public static void LoadApplicationConfig()
|
||||||
{
|
{
|
||||||
Settings = ApplicationConfig.Load(ApplicationConfigFilePath, BackupFolder, true, true);
|
Settings = ApplicationConfig.Load(ApplicationConfigFilePath, BackupFolder, true, true);
|
||||||
|
ApplicationConfigBackwardCompatibilityTasks();
|
||||||
DefaultTaskSettings = Settings.DefaultTaskSettings;
|
DefaultTaskSettings = Settings.DefaultTaskSettings;
|
||||||
}
|
}
|
||||||
|
|
||||||
public static void LoadUploadersConfig()
|
public static void LoadUploadersConfig()
|
||||||
{
|
{
|
||||||
UploadersConfig = UploadersConfig.Load(UploadersConfigFilePath, BackupFolder, true, true);
|
UploadersConfig = UploadersConfig.Load(UploadersConfigFilePath, BackupFolder, true, true);
|
||||||
|
UploadersConfigBackwardCompatibilityTasks();
|
||||||
}
|
}
|
||||||
|
|
||||||
public static void LoadHotkeysConfig()
|
public static void LoadHotkeysConfig()
|
||||||
|
@ -212,6 +210,14 @@ private static void UploadersConfigBackwardCompatibilityTasks()
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if (UploadersConfig.CustomUploadersList != null)
|
||||||
|
{
|
||||||
|
foreach (CustomUploaderItem cui in UploadersConfig.CustomUploadersList)
|
||||||
|
{
|
||||||
|
cui.CheckBackwardCompatibility();
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
public static void SaveAllSettings()
|
public static void SaveAllSettings()
|
||||||
|
|
|
@ -1619,6 +1619,7 @@ public static void AddCustomUploader(string filePath)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
cui.CheckBackwardCompatibility();
|
||||||
Program.UploadersConfig.CustomUploadersList.Add(cui);
|
Program.UploadersConfig.CustomUploadersList.Add(cui);
|
||||||
|
|
||||||
if (activate)
|
if (activate)
|
||||||
|
|
Loading…
Reference in a new issue