// ReSharper disable once InconsistentNaming public void WriteXMLSettings() { DirectoryInfo di = PathManager.TVDocSettingsFile.Directory; if (!di.Exists) { di.Create(); } // backup old settings before writing new ones FileHelper.Rotate(PathManager.TVDocSettingsFile.FullName); Logger.Info("Saving Settings to {0}", PathManager.TVDocSettingsFile.FullName); XmlWriterSettings settings = new XmlWriterSettings { Indent = true, NewLineOnAttributes = true }; using (XmlWriter writer = XmlWriter.Create(PathManager.TVDocSettingsFile.FullName, settings)) { writer.WriteStartDocument(); writer.WriteStartElement("TVRename"); writer.WriteAttributeToXml("Version", "2.1"); TVSettings.Instance.WriteXML(writer); // <Settings> writer.WriteStartElement("MyShows"); foreach (ShowItem si in Library.Values) { si.WriteXmlSettings(writer); } writer.WriteEndElement(); // MyShows XmlHelper.WriteStringsToXml(TVSettings.Instance.LibraryFolders, writer, "MonitorFolders", "Folder"); XmlHelper.WriteStringsToXml(TVSettings.Instance.IgnoreFolders, writer, "IgnoreFolders", "Folder"); XmlHelper.WriteStringsToXml(TVSettings.Instance.DownloadFolders, writer, "FinderSearchFolders", "Folder"); XmlHelper.WriteStringsToXml(TVSettings.Instance.IgnoredAutoAddHints, writer, "IgnoredAutoAddHints", "Hint"); writer.WriteStringsToXml(TVSettings.Instance.Ignore, "IgnoreItems", "Ignore"); writer.WriteStringsToXml(TVSettings.Instance.PreviouslySeenEpisodes, "PreviouslySeenEpisodes", "Episode"); writer.WriteEndElement(); // tvrename writer.WriteEndDocument(); } mDirty = false; Stats().Save(); LocalCache.Instance.LanguageList.Save(); }