-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathSettings.cs
34 lines (30 loc) · 1.11 KB
/
Settings.cs
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
using System;
using System.Collections.Generic;
using System.IO;
using System.Linq;
using System.Text;
using System.Text.Json;
using System.Threading.Tasks;
namespace Resizator
{
public class Settings
{
private static readonly string localAppDataDir = System.IO.Path.Combine(Environment.GetFolderPath(Environment.SpecialFolder.LocalApplicationData), "Resizator");
private static readonly string localAppDataFile = System.IO.Path.Combine(localAppDataDir, "settings.txt");
public string? Percent { get; set; } = "20";
public string? Path { get; set; } = Environment.GetFolderPath(Environment.SpecialFolder.MyDocuments);
public static Settings Load()
{
if(File.Exists(localAppDataFile))
{
return JsonSerializer.Deserialize<Settings>(File.ReadAllText(localAppDataFile)) ?? new Settings();
}
return new Settings();
}
public void Save()
{
Directory.CreateDirectory(localAppDataDir);
File.WriteAllText(localAppDataFile, JsonSerializer.Serialize(this));
}
}
}