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.Specialized;
|
||||
using System.ComponentModel;
|
||||
using System.Windows.Forms;
|
||||
|
||||
namespace ShareX.UploadersLib
|
||||
{
|
||||
public class CustomUploaderItem
|
||||
{
|
||||
[DefaultValue("")]
|
||||
public string Version { get; set; }
|
||||
|
||||
[DefaultValue("")]
|
||||
public string Name { get; set; }
|
||||
|
||||
|
@ -48,20 +52,8 @@ public class CustomUploaderItem
|
|||
[DefaultValue("")]
|
||||
public string RequestURL { get; set; }
|
||||
|
||||
private CustomUploaderRequestFormat requestFormat;
|
||||
|
||||
[DefaultValue(CustomUploaderRequestFormat.None)]
|
||||
public CustomUploaderRequestFormat RequestFormat
|
||||
{
|
||||
get
|
||||
{
|
||||
return CheckRequestFormat(requestFormat);
|
||||
}
|
||||
set
|
||||
{
|
||||
requestFormat = value;
|
||||
}
|
||||
}
|
||||
public CustomUploaderRequestFormat RequestFormat { get; set; }
|
||||
|
||||
[DefaultValue("")]
|
||||
public string FileFormName { get; set; }
|
||||
|
@ -141,24 +133,6 @@ public string GetRequestURL(CustomUploaderInput input)
|
|||
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)
|
||||
{
|
||||
CustomUploaderParser parser = new CustomUploaderParser(input);
|
||||
|
@ -248,5 +222,22 @@ public void ParseResponse(UploadResult result, CustomUploaderInput input, bool i
|
|||
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)
|
||||
{
|
||||
CustomUploaderAdd(obj as CustomUploaderItem);
|
||||
CustomUploaderItem uploader = obj as CustomUploaderItem;
|
||||
uploader.CheckBackwardCompatibility();
|
||||
CustomUploaderAdd(uploader);
|
||||
CustomUploaderUpdateStates();
|
||||
}
|
||||
|
||||
|
|
|
@ -931,7 +931,12 @@ private CustomUploaderItem CustomUploaderGetSelected()
|
|||
|
||||
private void CustomUploaderAdd()
|
||||
{
|
||||
CustomUploaderAdd(new CustomUploaderItem());
|
||||
CustomUploaderItem uploader = new CustomUploaderItem()
|
||||
{
|
||||
Version = Application.ProductVersion
|
||||
};
|
||||
|
||||
CustomUploaderAdd(uploader);
|
||||
}
|
||||
|
||||
private void CustomUploaderAdd(CustomUploaderItem uploader)
|
||||
|
|
|
@ -110,15 +110,11 @@ public static void LoadInitialSettings()
|
|||
{
|
||||
LoadApplicationConfig();
|
||||
|
||||
ApplicationConfigBackwardCompatibilityTasks();
|
||||
|
||||
Task.Run(() =>
|
||||
{
|
||||
LoadUploadersConfig();
|
||||
uploadersConfigResetEvent.Set();
|
||||
|
||||
UploadersConfigBackwardCompatibilityTasks();
|
||||
|
||||
LoadHotkeysConfig();
|
||||
hotkeysConfigResetEvent.Set();
|
||||
});
|
||||
|
@ -143,12 +139,14 @@ public static void WaitHotkeysConfig()
|
|||
public static void LoadApplicationConfig()
|
||||
{
|
||||
Settings = ApplicationConfig.Load(ApplicationConfigFilePath, BackupFolder, true, true);
|
||||
ApplicationConfigBackwardCompatibilityTasks();
|
||||
DefaultTaskSettings = Settings.DefaultTaskSettings;
|
||||
}
|
||||
|
||||
public static void LoadUploadersConfig()
|
||||
{
|
||||
UploadersConfig = UploadersConfig.Load(UploadersConfigFilePath, BackupFolder, true, true);
|
||||
UploadersConfigBackwardCompatibilityTasks();
|
||||
}
|
||||
|
||||
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()
|
||||
|
|
|
@ -1619,6 +1619,7 @@ public static void AddCustomUploader(string filePath)
|
|||
}
|
||||
}
|
||||
|
||||
cui.CheckBackwardCompatibility();
|
||||
Program.UploadersConfig.CustomUploadersList.Add(cui);
|
||||
|
||||
if (activate)
|
||||
|
|
Loading…
Reference in a new issue