public override void RequestRootNode()
{
// do not call base class here
// base.RequestRootNode();
AttachSystemImageList(Helper);
// setup up root node collection
switch (RootFolder)
{
case Raccoom.Win32.ShellAPI.CSIDL.DESKTOP:
// create root node <Desktop>
TreeNodePath desktopNode = CreateTreeNode(Helper.TreeView.Nodes, null, _shell.DesktopItem);
_rootCollection = desktopNode.Nodes;
// enable shell objects always to fill desktop level
bool settingBackup = _showAllShellObjects;
_showAllShellObjects = true;
// set setting back to original value
_showAllShellObjects = settingBackup;
break;
case Raccoom.Win32.ShellAPI.CSIDL.DRIVES:
this.FillMyComputer(_shell.MyComputerItem, Helper.TreeView.Nodes, Helper);
break;
default:
//
TreeNodePath rootNode = CreateTreeNode(Helper.TreeView.Nodes, null, _shell.GetSpecialFolderShellItem(RootFolder));
if (!rootNode.HasDummyNode)
{
rootNode.AddDummyNode();
}
_rootCollection = rootNode.Nodes;
break;
}
}