mirror of
https://github.com/ShareX/ShareX.git
synced 2024-09-30 01:07:21 +13:00
CustomUploaderSettingsForm refactor
This commit is contained in:
parent
b6c2bd5098
commit
3235365f80
3 changed files with 31 additions and 23 deletions
|
@ -29,7 +29,6 @@ You should have received a copy of the GNU General Public License
|
||||||
using ShareX.HelpersLib.Properties;
|
using ShareX.HelpersLib.Properties;
|
||||||
using System;
|
using System;
|
||||||
using System.ComponentModel;
|
using System.ComponentModel;
|
||||||
using System.Globalization;
|
|
||||||
using System.IO;
|
using System.IO;
|
||||||
using System.Text;
|
using System.Text;
|
||||||
using System.Threading.Tasks;
|
using System.Threading.Tasks;
|
||||||
|
@ -71,7 +70,7 @@ public ExportImportControl()
|
||||||
InitializeComponent();
|
InitializeComponent();
|
||||||
}
|
}
|
||||||
|
|
||||||
public string Serialize(object obj)
|
private string Serialize(object obj)
|
||||||
{
|
{
|
||||||
if (obj != null)
|
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
|
try
|
||||||
{
|
{
|
||||||
|
@ -201,7 +200,7 @@ private void OnImportCompleted()
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
public void ImportJson(string json)
|
private void ImportJson(string json)
|
||||||
{
|
{
|
||||||
if (!string.IsNullOrEmpty(json))
|
if (!string.IsNullOrEmpty(json))
|
||||||
{
|
{
|
||||||
|
@ -216,7 +215,7 @@ private void tsmiImportClipboard_Click(object sender, EventArgs e)
|
||||||
ImportJson(json);
|
ImportJson(json);
|
||||||
}
|
}
|
||||||
|
|
||||||
public void ImportFile(string filePath)
|
private void ImportFile(string filePath)
|
||||||
{
|
{
|
||||||
string json = File.ReadAllText(filePath, Encoding.UTF8);
|
string json = File.ReadAllText(filePath, Encoding.UTF8);
|
||||||
OnImportRequested(json);
|
OnImportRequested(json);
|
||||||
|
|
|
@ -33,8 +33,8 @@ namespace ShareX.HelpersLib
|
||||||
{
|
{
|
||||||
public static class JsonHelpers
|
public static class JsonHelpers
|
||||||
{
|
{
|
||||||
public static void Serialize<T>(T obj, TextWriter textWriter, DefaultValueHandling defaultValueHandling = DefaultValueHandling.Ignore,
|
public static void Serialize<T>(T obj, TextWriter textWriter, DefaultValueHandling defaultValueHandling = DefaultValueHandling.Include,
|
||||||
NullValueHandling nullValueHandling = NullValueHandling.Ignore, ISerializationBinder serializationBinder = null)
|
NullValueHandling nullValueHandling = NullValueHandling.Include, ISerializationBinder serializationBinder = null)
|
||||||
{
|
{
|
||||||
using (JsonTextWriter jsonTextWriter = new JsonTextWriter(textWriter))
|
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,
|
public static string SerializeToString<T>(T obj, DefaultValueHandling defaultValueHandling = DefaultValueHandling.Include,
|
||||||
NullValueHandling nullValueHandling = NullValueHandling.Ignore, ISerializationBinder serializationBinder = null)
|
NullValueHandling nullValueHandling = NullValueHandling.Include, ISerializationBinder serializationBinder = null)
|
||||||
{
|
{
|
||||||
StringBuilder sb = new StringBuilder();
|
StringBuilder sb = new StringBuilder();
|
||||||
|
|
||||||
|
@ -64,8 +64,8 @@ public static string SerializeToString<T>(T obj, DefaultValueHandling defaultVal
|
||||||
return sb.ToString();
|
return sb.ToString();
|
||||||
}
|
}
|
||||||
|
|
||||||
public static void SerializeToStream<T>(T obj, Stream stream, DefaultValueHandling defaultValueHandling = DefaultValueHandling.Ignore,
|
public static void SerializeToStream<T>(T obj, Stream stream, DefaultValueHandling defaultValueHandling = DefaultValueHandling.Include,
|
||||||
NullValueHandling nullValueHandling = NullValueHandling.Ignore, ISerializationBinder serializationBinder = null)
|
NullValueHandling nullValueHandling = NullValueHandling.Include, ISerializationBinder serializationBinder = null)
|
||||||
{
|
{
|
||||||
using (StreamWriter streamWriter = new StreamWriter(stream))
|
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,
|
public static MemoryStream SerializeToMemoryStream<T>(T obj, DefaultValueHandling defaultValueHandling = DefaultValueHandling.Include,
|
||||||
NullValueHandling nullValueHandling = NullValueHandling.Ignore, ISerializationBinder serializationBinder = null)
|
NullValueHandling nullValueHandling = NullValueHandling.Include, ISerializationBinder serializationBinder = null)
|
||||||
{
|
{
|
||||||
MemoryStream memoryStream = new MemoryStream();
|
MemoryStream memoryStream = new MemoryStream();
|
||||||
SerializeToStream(obj, memoryStream, defaultValueHandling, nullValueHandling, serializationBinder);
|
SerializeToStream(obj, memoryStream, defaultValueHandling, nullValueHandling, serializationBinder);
|
||||||
return memoryStream;
|
return memoryStream;
|
||||||
}
|
}
|
||||||
|
|
||||||
public static void SerializeToFile<T>(T obj, string filePath, DefaultValueHandling defaultValueHandling = DefaultValueHandling.Ignore,
|
public static void SerializeToFile<T>(T obj, string filePath, DefaultValueHandling defaultValueHandling = DefaultValueHandling.Include,
|
||||||
NullValueHandling nullValueHandling = NullValueHandling.Ignore, ISerializationBinder serializationBinder = null)
|
NullValueHandling nullValueHandling = NullValueHandling.Include, ISerializationBinder serializationBinder = null)
|
||||||
{
|
{
|
||||||
if (!string.IsNullOrEmpty(filePath))
|
if (!string.IsNullOrEmpty(filePath))
|
||||||
{
|
{
|
||||||
|
|
|
@ -294,6 +294,21 @@ private void CustomUploaderClearFields()
|
||||||
CustomUploaderLoad(CustomUploaderItem.Init());
|
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()
|
private void CustomUploaderExportAll()
|
||||||
{
|
{
|
||||||
if (Config.CustomUploadersList != null && Config.CustomUploadersList.Count > 0)
|
if (Config.CustomUploadersList != null && Config.CustomUploadersList.Count > 0)
|
||||||
|
@ -304,9 +319,7 @@ private void CustomUploaderExportAll()
|
||||||
{
|
{
|
||||||
foreach (CustomUploaderItem cui in Config.CustomUploadersList)
|
foreach (CustomUploaderItem cui in Config.CustomUploadersList)
|
||||||
{
|
{
|
||||||
string json = eiCustomUploaders.Serialize(cui);
|
CustomUploaderSerialize(cui, fsd.FileName);
|
||||||
string filePath = Path.Combine(fsd.FileName, cui.GetFileName());
|
|
||||||
File.WriteAllText(filePath, json, Encoding.UTF8);
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -333,11 +346,7 @@ private void CustomUploaderUpdateFolder()
|
||||||
if (cui != null)
|
if (cui != null)
|
||||||
{
|
{
|
||||||
cui.CheckBackwardCompatibility();
|
cui.CheckBackwardCompatibility();
|
||||||
|
CustomUploaderSerialize(cui, folderPath);
|
||||||
string json = eiCustomUploaders.Serialize(cui);
|
|
||||||
string newFilePath = Path.Combine(folderPath, cui.GetFileName());
|
|
||||||
File.WriteAllText(newFilePath, json, Encoding.UTF8);
|
|
||||||
|
|
||||||
updated++;
|
updated++;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in a new issue