public bool RemoveSetting(string path) { ModSettingsEntry toRemove = Settings.FirstOrDefault(setting => setting.FilePath.Equals(path)); if (toRemove == null) { return(false); } Settings.Remove(toRemove); return(true); }
public bool AddSetting(string path, string contents) { if (Settings == null) { Settings = new List <ModSettingsEntry>(); } // Check if this belongs to this mod var fullpath = GetPathFull(path); if (!File.Exists(fullpath)) { MessageBox.Show(@"Error!\nThe file " + path + @" does not belong to mod " + Name + @".\nNothing was saved.", @"Error", MessageBoxButtons.OK); return(false); } var setting = GetSetting(path); if (setting == null) { setting = new ModSettingsEntry(path, FilePath.GetFileName(path), contents); Settings.Add(setting); } else { setting.Contents = contents; } try { using (var stream = new StreamWriter(fullpath)) { stream.Write(contents); } } catch (UnauthorizedAccessException ex) { Log.Warn("Error saving configuration file " + fullpath, ex); MessageBox.Show(ex.Message, "Error", MessageBoxButtons.OK, MessageBoxIcon.Error); } return(true); }