示例#1
0
        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();
        }
示例#2
0
		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();
		}