private void LoadSettings() { TabStripSettings settings = new TabStripSettings(); settings = settings.Deserialize(_outputDirectory + _settingsFileName); if (!string.IsNullOrEmpty(settings.SavedTabStripSettings.TabColor)) { _tabColor = ColorTranslator.FromHtml(settings.SavedTabStripSettings.TabColor); this.TabColorEntry.Text = settings.SavedTabStripSettings.TabColor; } if (!string.IsNullOrEmpty(settings.SavedTabStripSettings.BorderColor)) { _borderColor = ColorTranslator.FromHtml(settings.SavedTabStripSettings.BorderColor); this.BorderColorEntry.Text = settings.SavedTabStripSettings.BorderColor; } if (!string.IsNullOrEmpty(settings.SavedTabStripSettings.SelectedTabColor)) { _selectedColor = ColorTranslator.FromHtml(settings.SavedTabStripSettings.SelectedTabColor); this.SelectedColorEntry.Text = settings.SavedTabStripSettings.SelectedTabColor; } _borderWidth = settings.SavedTabStripSettings.BorderWidth; this.BorderWidthEntry.Text = _borderWidth.ToString(); //_pottomPadding = settings.SavedTabStripSettings.BottomPadding; _tabWidth = settings.SavedTabStripSettings.TabWidth; this.TabWidthEntry.Text = _tabWidth.ToString(); _tabHeight = settings.SavedTabStripSettings.TabHeight; this.TabHeightEntry.Text = _tabHeight.ToString(); _cornerHeight = settings.SavedTabStripSettings.CornerHeight * 2; this.CornerHeightEntry.Text = settings.SavedTabStripSettings.CornerHeight.ToString(); _cornerWidth = settings.SavedTabStripSettings.CornerWidth * 2; this.CornerWidthEntry.Text = settings.SavedTabStripSettings.CornerWidth.ToString(); if (!string.IsNullOrEmpty(settings.SavedTabStripSettings.TabType)) { _tabType = (TabType)Enum.Parse(typeof(TabType), settings.SavedTabStripSettings.TabType); switch (_tabType) { case TabType.LeftLean: this.LeanLeftOption.Checked = true; break; case TabType.RightLean: this.LeanRightOption.Checked = true; break; default: this.SymetricalOption.Checked = true; break; } } if (!string.IsNullOrEmpty(settings.SavedTabStripSettings.TabCornerType)) { _cornerType = (CornerType)Enum.Parse(typeof(CornerType), settings.SavedTabStripSettings.TabCornerType); switch (_cornerType) { case CornerType.Chamfered: this.ChamferedOption.Checked = true; break; default: this.RoundedOption.Checked = true; break; } } if (this.OutputPathEntry.Text.Trim() != settings.SavedTabStripSettings.OutputDirectory.Trim()) { DialogResult result = MessageBox.Show(_overrideOutputDirMessage, this.Text, MessageBoxButtons.YesNo, MessageBoxIcon.Question, MessageBoxDefaultButton.Button1); if (result == DialogResult.Yes) { _outputDirectory = settings.SavedTabStripSettings.OutputDirectory; this.OutputPathEntry.Text = _outputDirectory; } } }
private void SaveSettings() { TabStripSettings settings = new TabStripSettings(); settings.SavedTabStripSettings.TabColor = ColorTranslator.ToHtml(_tabColor); settings.SavedTabStripSettings.BorderColor = ColorTranslator.ToHtml(_borderColor); settings.SavedTabStripSettings.SelectedTabColor = ColorTranslator.ToHtml(_selectedColor); settings.SavedTabStripSettings.BorderWidth = _borderWidth; settings.SavedTabStripSettings.BottomPadding = -1; settings.SavedTabStripSettings.TabWidth = _tabWidth; settings.SavedTabStripSettings.TabHeight = _tabHeight; settings.SavedTabStripSettings.CornerHeight = _cornerHeight / 2; settings.SavedTabStripSettings.CornerWidth = _cornerWidth / 2; settings.SavedTabStripSettings.TabType = Enum.GetName(typeof(TabType), _tabType); settings.SavedTabStripSettings.TabCornerType = Enum.GetName(typeof(CornerType), _cornerType); settings.SavedTabStripSettings.OutputDirectory = _outputDirectory; try { settings.Serialize(_outputDirectory + _settingsFileName, settings); } catch (Exception ex) { MessageBox.Show(ex.Message, this.Text, MessageBoxButtons.OK, MessageBoxIcon.Error); } }
public void Serialize(string path, TabStripSettings settings) { //if (! File.Exists(path)) //{ // File.WriteAllText(path, _createXml); //} using (XmlTextWriter writer = new XmlTextWriter(path, Encoding.UTF8)) { XmlSerializer serializer = new XmlSerializer(typeof(TabStripSettings)); // TODO: figure out why the formatting is not working. writer.Formatting = Formatting.Indented; writer.Indentation = 4; writer.IndentChar = char.Parse(" "); serializer.Serialize(writer, settings); } }