/// <summary> /// Load all existing signatures /// </summary> private void LoadSignatures() { string filename = Path.ChangeExtension(Path.Combine(CIX.HomeFolder, CIX.Username), "signatures.xml"); StreamReader fileStream = null; try { fileStream = new StreamReader(filename); using (XmlReader reader = XmlReader.Create(fileStream)) { fileStream = null; XmlSerializer serializer = new XmlSerializer(typeof(SignatureFile)); SignatureFile sigFile = (SignatureFile)serializer.Deserialize(reader); foreach (Signature item in sigFile.Items) { string rawText = item.text.Replace("\n", "\r\n"); _signatures[item.name] = rawText.Trim(); } } } catch (Exception e) { LogFile.WriteLine("Error parsing signature file {0} : {1}", filename, e.Message); } finally { if (fileStream != null) { fileStream.Dispose(); } } }
/// <summary> /// Save all signatures /// </summary> private void SaveSignatures() { string filename = Path.ChangeExtension(Path.Combine(CIX.HomeFolder, CIX.Username), "signatures.xml"); StreamWriter fileStream = null; try { fileStream = new StreamWriter(filename, false); XmlWriterSettings settings = new XmlWriterSettings { Indent = true, OmitXmlDeclaration = true, CloseOutput = true, NewLineOnAttributes = true }; using (XmlWriter writer = XmlWriter.Create(fileStream, settings)) { fileStream = null; XmlSerializer serializer = new XmlSerializer(typeof(SignatureFile)); SignatureFile file = new SignatureFile { Items = _signatures.Keys.Select(title => new Signature { name = title, text = _signatures[title] }).ToArray() }; serializer.Serialize(writer, file); } LogFile.WriteLine("Saved signatures to {0}", filename); } catch (Exception e) { LogFile.WriteLine("Cannot save signatures to {0} : {1}", filename, e.Message); } finally { if (fileStream != null) { fileStream.Dispose(); } } }
/// <summary> /// Save all signatures /// </summary> private void SaveSignatures() { string filename = Path.ChangeExtension(Path.Combine(CIX.HomeFolder, CIX.Username), "signatures.xml"); StreamWriter fileStream = null; try { fileStream = new StreamWriter(filename, false); XmlWriterSettings settings = new XmlWriterSettings { Indent = true, OmitXmlDeclaration = true, CloseOutput = true, NewLineOnAttributes = true }; using (XmlWriter writer = XmlWriter.Create(fileStream, settings)) { fileStream = null; XmlSerializer serializer = new XmlSerializer(typeof(SignatureFile)); SignatureFile file = new SignatureFile { Items = _signatures.Keys.Select(title => new Signature {name = title, text = _signatures[title]}).ToArray() }; serializer.Serialize(writer, file); } LogFile.WriteLine("Saved signatures to {0}", filename); } catch (Exception e) { LogFile.WriteLine("Cannot save signatures to {0} : {1}", filename, e.Message); } finally { if (fileStream != null) { fileStream.Dispose(); } } }