private void ChangeRuleAssembliesButtonClick( object sender, RoutedEventArgs e) { var stringListDialog = new StringListEditorDialog(); stringListDialog.BrowseForDirectory = true; stringListDialog.TitleText = StringParser.Parse("${res:ICSharpCode.CodeAnalysis.ProjectOptions.ChooseRuleAssemblyDirectory}"); stringListDialog.LoadList(GetRuleAssemblyList(false)); stringListDialog.ShowDialog(); if (stringListDialog.DialogResult ?? false) { StringBuilder b = new StringBuilder(DefaultRuleAssemblies); foreach (string asm in stringListDialog.GetList()) { b.Append(';'); b.Append(asm); } bool oldInitSuccess = initSuccess; initSuccess = true; try { this.RuleAssemblies = b.ToString(); IsDirty = true; } finally { initSuccess = oldInitSuccess; } } }
void ShowLayoutEditor() { var editor = new StringListEditorDialog(); editor.Owner = ((WpfWorkbench)SD.Workbench).MainWindow; editor.Title = StringParser.Parse("${res:ICSharpCode.SharpDevelop.Commands.ChooseLayoutCommand.EditLayouts.Title}"); editor.TitleText = StringParser.Parse("${res:ICSharpCode.SharpDevelop.Commands.ChooseLayoutCommand.EditLayouts.Label}"); editor.ListCaption = "List:"; editor.AddButtonText = StringParser.Parse("${res:ICSharpCode.SharpDevelop.Commands.ChooseLayoutCommand.EditLayouts.AddLayout}"); editor.ShowDialog(); if (editor.DialogResult ?? false) { IList<string> oldNames = new List<string>(CustomLayoutNames); IList<string> newNames = editor.GetList(); // add newly added layouts foreach (string newLayoutName in newNames) { if (!oldNames.Contains(newLayoutName)) { oldNames.Add(newLayoutName); LayoutConfiguration.CreateCustom(newLayoutName); } } // remove deleted layouts LayoutConfiguration.Layouts.RemoveAll(delegate(LayoutConfiguration lc) { return lc.Custom && !newNames.Contains(lc.Name); }); LayoutConfiguration.SaveCustomLayoutConfiguration(); } }