using System; using System.Collections.Generic; using System.Diagnostics; using System.Drawing; using System.IO; using System.Linq; using System.Text; using System.Threading.Tasks; using Newtonsoft.Json; namespace CatalogLib { public class PicSettings { private static PicSettings _instance = new PicSettings(); public static PicSettings Instance { get { return _instance; } } private Dictionary _settingsDict = new Dictionary(); public PicSettings() { SetDefaults(); } public string SerializeSettings() { return JsonConvert.SerializeObject(_settingsDict); } public void Set(string key, object value) { if (_settingsDict.ContainsKey(key)) { _settingsDict[key] = value; } else { _settingsDict.Add(key, value); } } public void SetString(string key, string value ) { Set(key, value); } public void SetInt(string key, int value) { Set(key,value); } public void SetBool(string key, bool value) { Set(key, value); } public bool Exists(string key) { return _settingsDict.ContainsKey(key); } public int GetInt(string key) { return _settingsDict.ContainsKey(key) ? (int)_settingsDict[key] : 0; } public string GetString(string key) { return _settingsDict.ContainsKey(key) ? (string)_settingsDict[key] : string.Empty; } public bool GetBool(string key) { return _settingsDict.ContainsKey(key) && (bool)_settingsDict[key]; } public object GetObject(string key) { return _settingsDict.ContainsKey(key) ? _settingsDict[key] : null; } public void SetDefaults() { //Set("DirSorgente", string.Empty); //Set("DirDestinazione", string.Empty); //Set("DirAggiornaSottodirectory", false); //Set("DirCreaSottoCartelle", false); //Set(); } public bool DirAggiornaSottoDirectory { get { return this.GetBool("DirAggiornaSottoDirectory"); } set { this.SetBool("DirAggiornaSottoDirectory", value); } } public bool Grassetto { get { return GetBool("Grassetto"); } set { SetBool("Grassetto", value); } } public string IlFont //todo { get { return GetString(""); } set { } } public bool TestoMin //todo { get { return false; } set { } } public bool AggTempoGaraMin //todo { get { return false; } set { } } public bool UsaTempoGaraTestoApplicare //todo { get { return false; } set { } } public bool AggNumTempMin //todo { get { return false; } set { } } public bool CreaMiniature //todo { get { return false; } set { } } public bool AggiungiScritteMiniature { get { return false; } set { } } public string Suffisso { get { return string.Empty; } set { } } public string Codice { get { return null; } set { } } public int Trasparenza { get { return 0; } } public string Posizione { get { return string.Empty; } } public bool UsaRotazioneAutomatica { get; set; } public DateTime DataPartenza { get; set; } public string TestoOrario { get; internal set; } public int DimStandard { get; internal set; } public int DimStandardMiniatura { get; internal set; } public bool UsaOrarioTestoApplicare { get; set; } public bool UsaOrarioMiniatura { get; set; } public string TestoFirmaStart { get; set; } public string TestoFirmaStartV { get; set; } public bool UsaForzaJpg { get; set; } public string DirectorySorgente { get { return GetString("DirSorgente"); } set { SetString("DirSorgente", value); } } public string DirectoryDestinazione { get { return GetString("DirDestinazione"); } set { SetString("DirDestinazione", value);} } public float Margine { get; set; } public float MargVert { get; set; } public string Allineamento { get; set; } public bool GeneraleForzaJPG { get { return GetBool("GeneraleForzaJPG"); } set { SetBool("GeneraleForzaJPG", value);} } public bool GeneraleRotazioneAutomatica { get { return GetBool("GeneraleRotazioneAutomatica"); } set { SetBool("GeneraleRotazioneAutomatica", value); } } public bool GeneraleSovrascriviFile { get { return GetBool("GeneraleSovrascriviFile"); } set { SetBool("GeneraleSovrascriviFile", value); } } } }