public override void DeleteItem () { GuiBuilderWindow w = (GuiBuilderWindow) CurrentNode.DataItem; string fn = FileService.AbsoluteToRelativePath (w.Project.Project.BaseDirectory, w.SourceCodeFile); using (ConfirmWindowDeleteDialog dialog = new ConfirmWindowDeleteDialog (w.Name, fn, w.RootWidget)) { if (dialog.Run () == (int) Gtk.ResponseType.Yes) { if (dialog.DeleteFile) { ProjectFile file = w.Project.Project.GetProjectFile (w.SourceCodeFile); if (file != null) w.Project.Project.Files.Remove (file); } w.Project.Remove (w); w.Project.SaveProject (false); IdeApp.ProjectOperations.SaveAsync (w.Project.Project); } } }
public override void DeleteItem () { // Don't allow deleting action groups local to a window GuiBuilderWindow w = (GuiBuilderWindow) CurrentNode.GetParentDataItem (typeof(GuiBuilderWindow), false); if (w != null) return; Project project = (Project) CurrentNode.GetParentDataItem (typeof(Project), false); Stetic.ActionGroupInfo group = (Stetic.ActionGroupInfo) CurrentNode.DataItem; GuiBuilderProject gproject = GtkDesignInfo.FromProject (project).GuiBuilderProject; string sfile = gproject.GetSourceCodeFile (group); if (sfile != null) { using (ConfirmWindowDeleteDialog dialog = new ConfirmWindowDeleteDialog (group.Name, sfile, group)) { if (dialog.Run () == (int) Gtk.ResponseType.Yes) { if (dialog.DeleteFile) { ProjectFile file = project.GetProjectFile (sfile); if (file != null) project.Files.Remove (file); } gproject.RemoveActionGroup (group); gproject.SaveProject (false); IdeApp.ProjectOperations.SaveAsync (project); } } } }