示例#1
0
    private ToolStripMenuItem getRightClickItem_Add_NewFolder()
    {
        return(new ToolStripMenuItem("New folder", Icons.GetBitmap("menu.newfolder", 16), delegate(object s, EventArgs e) {
            //get the currently selected folder
            ProjectEntity folder = GetSelectedProjectEntity();
            if (folder == null)
            {
                folder = GetSelectedProject().Root;
            }
            ProjectDirectory dir = (ProjectDirectory)folder;

            //define what the new folder name would be
            //(use a counter for every time we hit one that already
            //is called newfolderx
            int folderCounter = 1;
            string folderName = "New folder";
            while (dir.DirectoryExists(folderName))
            {
                folderName = "New folder (" + folderCounter + ")";
                folderCounter++;
            }

            //create the directory
            ProjectDirectory newDir = dir.CreateDirectory(folderName);

            //update the tree
            TreeNode node = findNodeByTag(dir.IsRoot ? (object)dir.Project : (object)dir);
            object st = PushTreeState();
            IndexDirectory(dir, node);
            PopTreeState(st);
            node.Expand();
        }));
    }