private void OnSetupClicked(object sender, LinkLabelLinkClickedEventArgs e) { try { LoadSettings(); IWeSayAddinHasSettings addin = (IWeSayAddinHasSettings)_addin; if (!addin.DoShowSettingsDialog(ParentForm, _projectInfo)) { return; } object settings = addin.Settings; if (settings == null) { return; } XmlSerializer serializer = new XmlSerializer(settings.GetType()); StringBuilder builder = new StringBuilder(); XmlWriterSettings writerSettings = new XmlWriterSettings(); writerSettings.ConformanceLevel = ConformanceLevel.Fragment; //we don't want the <xml header using (StringWriter stringWriter = new StringWriter(builder)) { using (XmlTextWriter writer = new FragmentXmlTextWriter(stringWriter)) { writer.Formatting = Formatting.Indented; XmlSerializerNamespaces ns = new XmlSerializerNamespaces(); ns.Add("", ""); //prevent writing namespaces serializer.Serialize(writer, settings, ns); writer.Close(); } string settingsXml = builder.ToString(); stringWriter.Close(); AddinSet.Singleton.SetSettingsForAddin(((IWeSayAddin)addin).ID, settingsXml); } } catch (Exception error) { ErrorReport.NotifyUserOfProblem( "Sorry, WeSay had a problem storing those settings. {0}", error.Message); } UpdateVisualThings(); }
private void OnSetupClicked(object sender, LinkLabelLinkClickedEventArgs e) { try { LoadSettings(); IWeSayAddinHasSettings addin = (IWeSayAddinHasSettings) _addin; if (!addin.DoShowSettingsDialog(ParentForm, _projectInfo)) { return; } object settings = addin.Settings; if (settings == null) { return; } XmlSerializer serializer = new XmlSerializer(settings.GetType()); StringBuilder builder = new StringBuilder(); XmlWriterSettings writerSettings = new XmlWriterSettings(); writerSettings.ConformanceLevel = ConformanceLevel.Fragment; //we don't want the <xml header using (StringWriter stringWriter = new StringWriter(builder)) { using (XmlTextWriter writer = new FragmentXmlTextWriter(stringWriter)) { writer.Formatting = Formatting.Indented; serializer.Serialize(writer, settings); writer.Close(); } string settingsXml = builder.ToString(); stringWriter.Close(); AddinSet.Singleton.SetSettingsForAddin(((IWeSayAddin) addin).ID, settingsXml); } } catch (Exception error) { ErrorReport.ReportNonFatalMessage( "Sorry, WeSay had a problem storing those settings. {0}", error.Message); } UpdateVisualThings(); }