Esempio n. 1
0
 public override void Delete()
 {
     ProjectService.RemoveSolutionFolder(folder.IdGuid);
     solution.Save();
 }
        public override void DoDragDrop(IDataObject dataObject, DragDropEffects effect)
        {
            PerformInitialization();
            Expand();
            try {
                if (dataObject.GetDataPresent(typeof(FileNode)))
                {
                    FileNode fileNode = (FileNode)dataObject.GetData(typeof(FileNode));
                    LoggingService.Debug("ProjectBrowser: Dragging file '" + fileNode.FileName + "' onto directory '" + this.Directory + "'");
                    if (!FileUtility.IsEqualFileName(Directory, fileNode.FileName) && !FileUtility.IsEqualFileName(Directory, Path.GetDirectoryName(fileNode.FileName)) &&
                        !(fileNode.ProjectItem is FileProjectItem && FileUtility.IsEqualFileName(Directory, Path.GetDirectoryName(GetFullVirtualName((FileProjectItem)fileNode.ProjectItem)))))
                    {
                        LoggingService.Debug("-> Not in same directory, performing " + effect.ToString());
                        CopyFileHere(fileNode, effect == DragDropEffects.Move);
                    }
                    else
                    {
                        // Dragging a dependent file onto its parent directory
                        // removes the dependency.
                        LoggingService.Debug("-> In same directory, removing dependency");
                        ((FileProjectItem)fileNode.ProjectItem).DependentUpon = String.Empty;
                        fileNode.Remove();
                        if (!File.Exists(fileNode.FileName))
                        {
                            fileNode.FileNodeStatus = FileNodeStatus.Missing;
                        }
                        else
                        {
                            fileNode.FileNodeStatus = FileNodeStatus.InProject;
                        }
                        fileNode.InsertSorted(this);
                    }
                }
                else if (dataObject.GetDataPresent(typeof(DirectoryNode)))
                {
                    DirectoryNode directoryNode = (DirectoryNode)dataObject.GetData(typeof(DirectoryNode));
                    CopyDirectoryHere(directoryNode, effect == DragDropEffects.Move);
                }
                else if (dataObject.GetDataPresent(DataFormats.FileDrop))
                {
                    string[] files = (string[])dataObject.GetData(DataFormats.FileDrop);
                    if (files != null)
                    {
                        foreach (string fileName in files)
                        {
                            if (System.IO.Directory.Exists(fileName))
                            {
                                if (!FileUtility.IsBaseDirectory(fileName, Directory))
                                {
                                    CopyDirectoryHere(fileName, false);
                                }
                            }
                            else
                            {
                                CopyFileHere(fileName, false);
                            }
                        }
                    }
                }

                ProjectService.SaveSolution();
            } catch (Exception e) {
                MessageService.ShowException(e);
            }
        }
Esempio n. 3
0
 public void Load(string fileName)
 {
     ProjectService.LoadProject(fileName);
 }
Esempio n. 4
0
 public void Load(string fileName)
 {
     ProjectService.LoadSolution(fileName);
 }
Esempio n. 5
0
 public override void Delete()
 {
     ProjectService.RemoveSolutionFolder(Project.IdGuid);
     ProjectService.SaveSolution();
 }