예제 #1
0
        void setview(string locale)
        {
            listView1.Enabled = false;
            status            = "Reading Directory";
            FATXFolderEntry  xfold = null;
            FATXReadContents x     = xDrive.ReadToFolder(locale, out xfold);

            if (x == null)
            {
                MessageBox.Show("Error: Bad path?");
                status            = "Idle";
                listView1.Enabled = true;
                return;
            }
            LastFolder = xfold;
            List <ListViewItem> xlist = new List <ListViewItem>();

            foreach (FATXFolderEntry y in x.Folders)
            {
                xlist.Add(GetItem(y.Name, 1, y));
            }
            foreach (FATXFileEntry y in x.Files)
            {
                xlist.Add(GetItem(y.Name, 2, y));
            }
            listView1.Items.Clear();
            listView1.Items.AddRange(xlist.ToArray());
            if (locale[locale.Length - 1] == '/')
            {
                locale = locale.Substring(0, locale.Length - 1);
            }
            textBoxX1.Text    = locale + "/";
            listView1.Enabled = true;
            status            = "Idle";
        }
예제 #2
0
        private void upDirectoryToolStripMenuItem_Click(object sender, EventArgs e)
        {
            if (textBoxX1.Text == "")
            {
                return;
            }
            listView1.Enabled = false;
            if (textBoxX1.Text.CountOfBreak() == 1)
            {
                setdrive();
                listView1.Enabled = true;
                return;
            }
            status = "Reading Directory";
            string manipulate = textBoxX1.Text.Substring(0, textBoxX1.Text.Length - 1);
            int    lastidx    = manipulate.LastIndexOf('/');

            if (lastidx != -1)
            {
                manipulate = manipulate.Substring(0, lastidx);
            }
            else
            {
                manipulate = "";
            }
            FATXFolderEntry  xfold = null;
            FATXReadContents x     = xDrive.ReadToFolder(manipulate, out xfold);

            if (x == null)
            {
                MessageBox.Show("Error: Bad path?");
                status            = "Idle";
                listView1.Enabled = true;
                return;
            }
            LastFolder = xfold;
            listView1.Items.Clear();
            foreach (FATXFolderEntry y in x.Folders)
            {
                listView1.Items.Add(GetItem(y.Name, 1, y));
            }
            foreach (FATXFileEntry y in x.Files)
            {
                listView1.Items.Add(GetItem(y.Name, 2, y));
            }
            foreach (FATXPartition y in x.SubPartitions)
            {
                listView1.Items.Add(GetItem(y.PartitionName, 0, y));
            }
            textBoxX1.Text    = manipulate + "/";
            status            = "Idle";
            listView1.Enabled = true;
        }
예제 #3
0
        void node_NodeClick(object sender, EventArgs e)
        {
            if (lastselected == advTree1.SelectedNode)
            {
                return;
            }
            listView1.Items.Clear();
            lastselected = advTree1.SelectedNode;
            foreach (Node y in advTree1.SelectedNode.Parent.Nodes)
            {
                y.Nodes.Clear();
            }
            FATXFolderEntry  sndr = (FATXFolderEntry)((Node)sender).Tag;
            FATXReadContents x    = sndr.Read();

            if (x == null)
            {
                return;
            }
            listView1.Enabled = advTree1.Enabled = menuStrip1.Enabled = false;
            List <ListViewItem> xlist = new List <ListViewItem>();

            foreach (FATXPartition y in x.SubPartitions)
            {
                Node node2 = new Node();
                node2.Text       = y.PartitionName;
                node2.Tag        = y;
                node2.NodeClick += new EventHandler(node2_NodeClick);
                advTree1.SelectedNode.Nodes.Add(node2);
            }
            foreach (FATXFolderEntry y in x.Folders)
            {
                Node node2 = new Node();
                node2.Text        = y.Name;
                node2.Tag         = y;
                node2.NodeClick  += new EventHandler(node_NodeClick);
                node2.ContextMenu = contextMenuStrip2;
                advTree1.SelectedNode.Nodes.Add(node2);
            }
            foreach (FATXFileEntry y in x.Files)
            {
                xlist.Add(GetItem(y));
            }
            listView1.Items.Clear();
            listView1.Items.AddRange(xlist.ToArray());
            advTree1.SelectedNode.Expand();
            listView1.Enabled = advTree1.Enabled = menuStrip1.Enabled = true;
        }
        public void RefreshPartitions()
        {
            folders = new USBDriveEntry[0];

            var fld = new List <USBDriveEntry>();

            foreach (var p in drive.Partitions)
            {
                FATXFolderEntry  fe;
                FATXReadContents readContents = drive.ReadToFolder(
                    p.PartitionName, out fe);

                var entry = new USBDriveEntry(p.PartitionName, readContents, fe);

                fld.Add(entry);
            }
            this.folders = fld.ToArray();
        }
예제 #5
0
        private void goToToolStripMenuItem_Click(object sender, EventArgs e)
        {
            GoToDialog x = new GoToDialog();

            if (x.ShowDialog() != DialogResult.OK)
            {
                return;
            }
            listView1.Enabled = false;
            status            = "Reading Directory";
            FATXFolderEntry  xfold;
            FATXReadContents z = xDrive.ReadToFolder(x.ChosenPath, out xfold);

            if (z == null)
            {
                MessageBox.Show("Error: Bad path?");
                status            = "Idle";
                listView1.Enabled = true;
                return;
            }
            LastFolder = xfold;
            List <ListViewItem> xlist = new List <ListViewItem>();

            foreach (FATXFolderEntry u in z.Folders)
            {
                xlist.Add(GetItem(u.Name, 1, u));
            }
            foreach (FATXFileEntry u in z.Files)
            {
                xlist.Add(GetItem(u.Name, 2, u));
            }
            foreach (FATXPartition u in z.SubPartitions)
            {
                xlist.Add(GetItem(u.PartitionName, 0, u));
            }
            listView1.Items.Clear();
            listView1.Items.AddRange(xlist.ToArray());
            textBoxX1.Text    = x.ChosenPath + "/";
            status            = "Idle";
            listView1.Enabled = true;
        }
예제 #6
0
        private void listView1_DoubleClick(object sender, EventArgs e)
        {
            if (x1 != MouseButtons.Left || x2 != MouseButtons.Left)
            {
                return;
            }
            if (listView1.SelectedItems.Count != 1)
            {
                return;
            }
            listView1.Enabled = false;
            status            = "Reading Directory";
            ListViewItem selitem = listView1.SelectedItems[0];

            switch (selitem.ImageIndex)
            {
            case 0:
            {
                textBoxX1.Text += ((FATXPartition)selitem.Tag).PartitionName + "/";
                FATXPartition       x     = ((FATXPartition)selitem.Tag);
                List <ListViewItem> xlist = new List <ListViewItem>();
                foreach (FATXFolderEntry y in x.Folders)
                {
                    xlist.Add(GetItem(y.Name, 1, y));
                }
                foreach (FATXFileEntry y in x.Files)
                {
                    xlist.Add(GetItem(y.Name, 2, y));
                }
                for (int i = 0; i < x.SubPartitions.Length; i++)
                {
                    xlist.Add(GetItem(x.SubPartitions[i].PartitionName, 0, x.SubPartitions[i]));
                }
                listView1.Items.Clear();
                listView1.Items.AddRange(xlist.ToArray());
            }
            break;

            case 1:
            {
                LastFolder = ((FATXFolderEntry)selitem.Tag);
                FATXReadContents x = LastFolder.Read();
                if (x == null)
                {
                    break;
                }
                textBoxX1.Text += LastFolder.Name + "/";
                List <ListViewItem> xlist = new List <ListViewItem>();
                foreach (FATXFolderEntry y in x.Folders)
                {
                    xlist.Add(GetItem(y.Name, 1, y));
                }
                foreach (FATXFileEntry y in x.Files)
                {
                    xlist.Add(GetItem(y.Name, 2, y));
                }
                listView1.Items.Clear();
                listView1.Items.AddRange(xlist.ToArray());
            }
            break;

            default: break;
            }
            status            = "Idle";
            listView1.Enabled = true;
        }
예제 #7
0
 public USBDriveEntry(string name, FATXReadContents contents, FATXFolderEntry entry)
 {
     this.entry    = entry;
     this.name     = name;
     this.contents = contents;
 }