Esempio n. 1
0
        public void LoadDrives()
        {
            txtPath.Text = "";
            lvExplorer.Groups.Clear();
            lvExplorer.Items.Clear();
            ListViewGroup grpDrives = new ListViewGroup(groups[0].HeaderName);

            grpDrives.Tag = groups[0];
            lvExplorer.Groups.Add(grpDrives);
            ManagementObjectSearcher mos = new ManagementObjectSearcher();

            mos.Query = new ObjectQuery("SELECT * From Win32_LogicalDisk");
            foreach (ManagementObject mo in mos.Get())
            {
                string type = mo["DriveType"].ToString();
                string name = mo["DeviceId"].ToString() + @"\";

                DocExpListViewItem lviDrive = new DocExpListViewItem(name, grpDrives);
                lviDrive.FileType = fileTypes[0];
                lviDrive.Path     = name;
                if (type == "3")
                {
                    lviDrive.ImageKey = "Drive";
                }
                else if (type == "4")
                {
                    lviDrive.ImageKey = "NetworkDrive";
                }
                else if (type == "5")
                {
                    lviDrive.ImageKey = "CDDVD";
                }
                else
                {
                }

                lvExplorer.Items.Add(lviDrive);
            }
        }
Esempio n. 2
0
        public void LoadSubFilesAndFolders(string path)
        {
            fsw.Path     = path;
            txtPath.Text = path;

            lvExplorer.Groups.Clear();
            lvExplorer.Items.Clear();

            ListViewGroup grpActions = new ListViewGroup(" ");

            grpActions.Tag = groups[2];
            lvExplorer.Groups.Add(grpActions);
            ListViewGroup grpDirectories = new ListViewGroup(groups[1].HeaderName);

            grpDirectories.Tag = groups[1];
            lvExplorer.Groups.Add(grpDirectories);



            DocExpListViewItem lviUp = new DocExpListViewItem("Up", grpActions);

            lviUp.ImageKey = "FolderUp";
            lviUp.FileType = fileTypes[2];
            lviUp.Path     = path;
            lvExplorer.Items.Add(lviUp);

            foreach (string directory in Directory.GetDirectories(path))
            {
                DocExpListViewItem lviDirectory = new DocExpListViewItem(directory.Substring(directory.LastIndexOf(@"\") + 1), grpDirectories);
                lviDirectory.Path     = directory;
                lviDirectory.FileType = fileTypes[1];
                lviDirectory.ImageKey = "Folder";
                lvExplorer.Items.Add(lviDirectory);
            }
            List <string> filesLoaded = new List <string>();

            foreach (FileTypeGroup ftg in (from ftg in groups where ftg.ShowInExplorer == true select ftg))
            {
                List <DocExpListViewItem> items = new List <DocExpListViewItem>();
                foreach (FileType ft in (from ft in fileTypes where ft.Group == ftg select ft))
                {
                    ListViewGroup grpFiles = null;
                    if (lvExplorer.Groups[ftg.HeaderName] == null)
                    {
                        grpFiles     = new ListViewGroup(ftg.HeaderName, ftg.HeaderName);
                        grpFiles.Tag = ftg;
                        lvExplorer.Groups.Add(grpFiles);
                    }
                    else
                    {
                        grpFiles = lvExplorer.Groups[ftg.HeaderName];
                    }

                    foreach (string file in Directory.GetFiles(path, ft.SearchCriteria, SearchOption.TopDirectoryOnly))
                    {
                        if (!filesLoaded.Contains(file))
                        {
                            DocExpListViewItem lviFile = new DocExpListViewItem(file.Substring(file.LastIndexOf(@"\") + 1), grpFiles);
                            lviFile.Path     = file;
                            lviFile.FileType = ft;
                            if (ilExplorer.Images.Keys.IndexOf(ft.SearchCriteria.Replace("*.", "")) > -1)
                            {
                                lviFile.ImageKey = ft.SearchCriteria.Replace("*.", "");
                            }
                            else
                            {
                                lviFile.ImageKey = "*";
                            }
                            items.Add(lviFile);
                            filesLoaded.Add(file);
                        }
                    }
                }
                foreach (DocExpListViewItem itm in (from i in items orderby i.Text ascending select i))
                {
                    lvExplorer.Items.Add(itm);
                }
            }
        }