public void LoadConfigs() { Settings.Clear(); string fileName = Path.Combine(ConfigPath, "Configs.xml"); if (File.Exists(fileName)) { try { SettingsXml xml = JsonSerializer.Deserialize <SettingsXml>(File.ReadAllText(fileName)); if (xml != null) { Settings.AddRange(xml.Configs); } } catch (Exception ex) { Trace.WriteLine(string.Format("Error Loading Config {0} - {1}", fileName, ex.Message)); } } if (Settings.Count == 0) { // Create some defaults Settings.Add(new SettingConfig("Default", new CameraSettings())); } ActiveConfig = Settings.First(); }
public void SaveConfigs() { if (!Directory.Exists(ConfigPath)) { Directory.CreateDirectory(ConfigPath); } SettingsXml xml = new SettingsXml { Configs = Settings.ToArray() }; string fileName = Path.Combine(ConfigPath, "Configs.xml"); File.WriteAllText(fileName, JsonSerializer.Serialize <SettingsXml>(xml)); }