示例#1
0
        /// <summary>
        /// Fill the "My Computer" or "This Pc" collection
        /// </summary>
        /// <param name="folderItem"></param>
        /// <param name="parentCollection"></param>
        /// <param name="helper"></param>
        protected virtual void FillMyComputer(FolderItem folderItem, ObservableCollection <TreeItem> parentCollection,
                                              TreeViewHelper helper)
        {
            log.Trace(">>>");
            _rootCollection = parentCollection;
            Logicaldisk.LogicaldiskCollection logicalDisks = null;

            // get wmi logical disk's if we have to
            if (helper.TreeView.DriveTypes != Enums.DriveTypes.All)
            {
                logicalDisks = Logicaldisk.GetInstances(null, GetWmiQueryStatement(helper.TreeView));
            }

            foreach (FolderItem fi in ((Folder)folderItem.GetFolder).Items())
            {
                log.Trace($"Folder: {fi.Name} | Type: {fi.Type} | IsFolder: {fi.IsFolder} | IsFileSystem: {fi.IsFileSystem}");
                // only File System shell objects ?
                if (!_showAllShellObjects && !fi.IsFileSystem)
                {
                    continue;
                }

                // check drive type
                if (fi.IsFileSystem && logicalDisks != null)
                {
                    bool skipDrive = true;
                    foreach (Logicaldisk lg in logicalDisks)
                    {
                        if (lg.Name + "\\" == fi.Path)
                        {
                            skipDrive = false;
                            break;
                        }
                    }

                    if (skipDrive)
                    {
                        continue;
                    }
                }
                // create new node
                var node = CreateTreeNode(helper, fi.Name, fi.Path, false, fi);
                parentCollection.Add(node);
            }
            log.Trace("<<<");
        }
示例#2
0
 protected virtual void FillMyComputer(FolderItem folderItem, TreeNodeCollection parentCollection,
                                       TreeViewFolderBrowserHelper helper)
 {
     _rootCollection = parentCollection;
     Logicaldisk.LogicaldiskCollection logicalDisks = null;
     // get wmi logical disk's if we have to
     if (helper.TreeView.DriveTypes != DriveTypes.All)
     {
         logicalDisks = Logicaldisk.GetInstances(null, GetWMIQueryStatement(helper.TreeView));
     }
     //
     foreach (FolderItem fi in ((Folder)folderItem.GetFolder).Items())
     {
         // only File System shell objects ?
         if (!_showAllShellObjects && !fi.IsFileSystem)
         {
             continue;
         }
         // check drive type
         if (fi.IsFileSystem && logicalDisks != null)
         {
             bool skipDrive = true;
             foreach (Logicaldisk lg in logicalDisks)
             {
                 if (lg.Name + "\\" == fi.Path)
                 {
                     skipDrive = false;
                     break;
                 }
             }
             if (skipDrive)
             {
                 continue;
             }
         }
         // create new node
         TreeNodePath node = CreateTreeNode(helper, fi.Name, fi.Path, IsFolderWithChilds(fi), false, true);
         node.Tag = fi;
         parentCollection.Add(node);
     }
 }