CustomUploaderSettingsForm refactor

This commit is contained in:
Jaex 2020-09-29 17:39:01 +03:00
parent b6c2bd5098
commit 3235365f80
3 changed files with 31 additions and 23 deletions

View file

@ -29,7 +29,6 @@ You should have received a copy of the GNU General Public License
using ShareX.HelpersLib.Properties;
using System;
using System.ComponentModel;
using System.Globalization;
using System.IO;
using System.Text;
using System.Threading.Tasks;
@ -71,7 +70,7 @@ public ExportImportControl()
InitializeComponent();
}
public string Serialize(object obj)
private string Serialize(object obj)
{
if (obj != null)
{
@ -149,7 +148,7 @@ private void tsmiExportUpload_Click(object sender, EventArgs e)
}
}
public object Deserialize(string json)
private object Deserialize(string json)
{
try
{
@ -201,7 +200,7 @@ private void OnImportCompleted()
}
}
public void ImportJson(string json)
private void ImportJson(string json)
{
if (!string.IsNullOrEmpty(json))
{
@ -216,7 +215,7 @@ private void tsmiImportClipboard_Click(object sender, EventArgs e)
ImportJson(json);
}
public void ImportFile(string filePath)
private void ImportFile(string filePath)
{
string json = File.ReadAllText(filePath, Encoding.UTF8);
OnImportRequested(json);

View file

@ -33,8 +33,8 @@ namespace ShareX.HelpersLib
{
public static class JsonHelpers
{
public static void Serialize<T>(T obj, TextWriter textWriter, DefaultValueHandling defaultValueHandling = DefaultValueHandling.Ignore,
NullValueHandling nullValueHandling = NullValueHandling.Ignore, ISerializationBinder serializationBinder = null)
public static void Serialize<T>(T obj, TextWriter textWriter, DefaultValueHandling defaultValueHandling = DefaultValueHandling.Include,
NullValueHandling nullValueHandling = NullValueHandling.Include, ISerializationBinder serializationBinder = null)
{
using (JsonTextWriter jsonTextWriter = new JsonTextWriter(textWriter))
{
@ -51,8 +51,8 @@ public static void Serialize<T>(T obj, TextWriter textWriter, DefaultValueHandli
}
}
public static string SerializeToString<T>(T obj, DefaultValueHandling defaultValueHandling = DefaultValueHandling.Ignore,
NullValueHandling nullValueHandling = NullValueHandling.Ignore, ISerializationBinder serializationBinder = null)
public static string SerializeToString<T>(T obj, DefaultValueHandling defaultValueHandling = DefaultValueHandling.Include,
NullValueHandling nullValueHandling = NullValueHandling.Include, ISerializationBinder serializationBinder = null)
{
StringBuilder sb = new StringBuilder();
@ -64,8 +64,8 @@ public static string SerializeToString<T>(T obj, DefaultValueHandling defaultVal
return sb.ToString();
}
public static void SerializeToStream<T>(T obj, Stream stream, DefaultValueHandling defaultValueHandling = DefaultValueHandling.Ignore,
NullValueHandling nullValueHandling = NullValueHandling.Ignore, ISerializationBinder serializationBinder = null)
public static void SerializeToStream<T>(T obj, Stream stream, DefaultValueHandling defaultValueHandling = DefaultValueHandling.Include,
NullValueHandling nullValueHandling = NullValueHandling.Include, ISerializationBinder serializationBinder = null)
{
using (StreamWriter streamWriter = new StreamWriter(stream))
{
@ -73,16 +73,16 @@ public static void SerializeToStream<T>(T obj, Stream stream, DefaultValueHandli
}
}
public static MemoryStream SerializeToMemoryStream<T>(T obj, DefaultValueHandling defaultValueHandling = DefaultValueHandling.Ignore,
NullValueHandling nullValueHandling = NullValueHandling.Ignore, ISerializationBinder serializationBinder = null)
public static MemoryStream SerializeToMemoryStream<T>(T obj, DefaultValueHandling defaultValueHandling = DefaultValueHandling.Include,
NullValueHandling nullValueHandling = NullValueHandling.Include, ISerializationBinder serializationBinder = null)
{
MemoryStream memoryStream = new MemoryStream();
SerializeToStream(obj, memoryStream, defaultValueHandling, nullValueHandling, serializationBinder);
return memoryStream;
}
public static void SerializeToFile<T>(T obj, string filePath, DefaultValueHandling defaultValueHandling = DefaultValueHandling.Ignore,
NullValueHandling nullValueHandling = NullValueHandling.Ignore, ISerializationBinder serializationBinder = null)
public static void SerializeToFile<T>(T obj, string filePath, DefaultValueHandling defaultValueHandling = DefaultValueHandling.Include,
NullValueHandling nullValueHandling = NullValueHandling.Include, ISerializationBinder serializationBinder = null)
{
if (!string.IsNullOrEmpty(filePath))
{

View file

@ -294,6 +294,21 @@ private void CustomUploaderClearFields()
CustomUploaderLoad(CustomUploaderItem.Init());
}
private void CustomUploaderSerialize(CustomUploaderItem cui, string folderPath)
{
try
{
string filePath = Path.Combine(folderPath, cui.GetFileName());
JsonHelpers.SerializeToFile(cui, filePath, DefaultValueHandling.Ignore, NullValueHandling.Ignore);
}
catch (Exception e)
{
DebugHelper.WriteException(e);
// TODO: Translate
MessageBox.Show("Export failed." + "\n\n" + e, "ShareX - " + "Error", MessageBoxButtons.OK, MessageBoxIcon.Error);
}
}
private void CustomUploaderExportAll()
{
if (Config.CustomUploadersList != null && Config.CustomUploadersList.Count > 0)
@ -304,9 +319,7 @@ private void CustomUploaderExportAll()
{
foreach (CustomUploaderItem cui in Config.CustomUploadersList)
{
string json = eiCustomUploaders.Serialize(cui);
string filePath = Path.Combine(fsd.FileName, cui.GetFileName());
File.WriteAllText(filePath, json, Encoding.UTF8);
CustomUploaderSerialize(cui, fsd.FileName);
}
}
}
@ -333,11 +346,7 @@ private void CustomUploaderUpdateFolder()
if (cui != null)
{
cui.CheckBackwardCompatibility();
string json = eiCustomUploaders.Serialize(cui);
string newFilePath = Path.Combine(folderPath, cui.GetFileName());
File.WriteAllText(newFilePath, json, Encoding.UTF8);
CustomUploaderSerialize(cui, folderPath);
updated++;
}
}