void node2_NodeClick(object sender, EventArgs e) { if (lastselected == advTree1.SelectedNode) { return; } Node sndr = lastselected = advTree1.SelectedNode; sndr.Nodes.Clear(); listView1.Items.Clear(); FATXPartition part = (FATXPartition)sndr.Tag; listView1.Enabled = advTree1.Enabled = menuStrip1.Enabled = false; foreach (FATXFolderEntry x in part.Folders) { Node node2 = new Node(); node2.Text = x.Name; node2.Tag = x; node2.NodeClick += new EventHandler(node_NodeClick); sndr.Nodes.Add(node2); } foreach (FATXPartition x in part.SubPartitions) { Node node2 = new Node(); node2.Text = x.PartitionName; node2.Tag = x; node2.NodeClick += new EventHandler(node2_NodeClick); sndr.Nodes.Add(node2); } listView1.Items.Clear(); foreach (FATXFileEntry x in part.Files) { listView1.Items.Add(GetItem(x)); } advTree1.SelectedNode.Expand(); listView1.Enabled = advTree1.Enabled = menuStrip1.Enabled = true; }
/// <summary> /// Returns the amount of data in the last block /// </summary> public static int BlockRemainderFATX(this DJsIO y, FATXPartition xPartition) { if (y.IOType == DataType.Drive) return 0; if (y.Length == 0) return 0; return (int)(((y.Length - 1) % xPartition.xBlockSize) + 1); }
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; }
/// <summary> /// Returns the count of blocks this file contains /// </summary> public static uint BlockCountFATX(this DJsIO y, FATXPartition xPartition) { { if (y.IOType == DataType.Drive) return 0; if (y.Length == 0) return 0; return (uint)(((y.Length - 1) / xPartition.xBlockSize) + 1); } //throw x }