public override void DeleteItem() { SolutionFolder folder = CurrentNode.DataItem as SolutionFolder; SolutionFolder parent = folder.ParentFolder; if (parent == null) { return; } bool yes = MessageService.Confirm(GettextCatalog.GetString("Do you really want to remove the folder '{0}' from '{1}'?", folder.Name, parent.Name), AlertButton.Remove); if (yes) { Solution sol = folder.ParentSolution; parent.Items.Remove(folder); folder.Dispose(); IdeApp.ProjectOperations.Save(sol); } }
public void SolutionBoundUnbound() { Solution sol = new Solution (); var e = new SomeItem (); Assert.AreEqual (0, e.BoundEvents); Assert.AreEqual (0, e.UnboundEvents); sol.RootFolder.AddItem (e); Assert.AreEqual (1, e.BoundEvents); Assert.AreEqual (0, e.UnboundEvents); Assert.AreEqual (1, e.InternalItem.BoundEvents); Assert.AreEqual (0, e.InternalItem.UnboundEvents); e.Reset (); sol.RootFolder.Items.Remove (e); Assert.AreEqual (0, e.BoundEvents); Assert.AreEqual (1, e.UnboundEvents); Assert.AreEqual (0, e.InternalItem.BoundEvents); Assert.AreEqual (1, e.InternalItem.UnboundEvents); e.Reset (); sol.RootFolder.AddItem (e); Assert.AreEqual (1, e.BoundEvents); Assert.AreEqual (0, e.UnboundEvents); Assert.AreEqual (1, e.InternalItem.BoundEvents); Assert.AreEqual (0, e.InternalItem.UnboundEvents); e.Reset (); sol.RootFolder.Items.Remove (e); Assert.AreEqual (0, e.BoundEvents); Assert.AreEqual (1, e.UnboundEvents); Assert.AreEqual (0, e.InternalItem.BoundEvents); Assert.AreEqual (1, e.InternalItem.UnboundEvents); e.Reset (); var f = new SolutionFolder (); f.AddItem (e); Assert.AreEqual (0, e.BoundEvents); Assert.AreEqual (0, e.UnboundEvents); Assert.AreEqual (0, e.InternalItem.BoundEvents); Assert.AreEqual (0, e.InternalItem.UnboundEvents); sol.RootFolder.AddItem (f); Assert.AreEqual (1, e.BoundEvents); Assert.AreEqual (0, e.UnboundEvents); Assert.AreEqual (1, e.InternalItem.BoundEvents); Assert.AreEqual (0, e.InternalItem.UnboundEvents); e.Reset (); sol.RootFolder.Items.Remove (f); Assert.AreEqual (0, e.BoundEvents); Assert.AreEqual (1, e.UnboundEvents); Assert.AreEqual (0, e.InternalItem.BoundEvents); Assert.AreEqual (1, e.InternalItem.UnboundEvents); f.Dispose (); sol.Dispose (); }