Catalog/CatalogLib/PicSettings.cs
2016-11-07 16:20:31 +01:00

200 lines
5.2 KiB
C#

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<string, object> _settingsDict = new Dictionary<string, object>();
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); } }
}
}