Exemplo n.º 1
0
        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.Save(project);
                    }
                }
            }
        }