public void OnFolderTreeSelect(object sender, TreeViewEventArgs e) { TreeNode folderNode = e.Node; fsFolderInfoFullName.Text = ""; fsFolderInfoIsolationCombo.SelectedIndex = -1; if (folderNode == null) { return; } fsFolderInfoIsolationCombo.Enabled = true; //(folderNode != fsFolderTree.Nodes[0]); // Fill info panel String fullName = treeHelper.GetFullNodeName(folderNode); fsFolderInfoFullName.Text = fullName; fsFolderInfoIsolationCombo.SelectedIndex = treeHelper.SandboxFlagsToComboIndex( virtPackage.GetRegistrySandbox(fsFolderInfoFullName.Text, false)); // Fill fsFilesList fsFilesList.Items.Clear(); if (workKey == null) { return; } RegistryKey regKey = workKey.OpenSubKey(fullName); if (regKey == null) { return; } String[] values = regKey.GetValueNames(); currentkey = new ArrayList(); masterkey = ""; currentkey.Clear(); for (int i = 0; i < values.Length; i++) { ListViewItem newItem = new ListViewItem(); newItem.Text = values[i]; masterkey = regKey.ToString(); currentkey.Add(newItem.Text); newItem.SubItems.Add((string)regKey.GetValue(values[i]).ToString()); newItem.SubItems.Add((string)regKey.GetValueKind(values[i]).ToString()); //newItem.SubItems.Add(ToDo: read value); fsFilesList.Items.Add(newItem); } }
public void OnFolderTreeSelect(object sender, TreeViewEventArgs e) { FolderTreeNode folderNode = (FolderTreeNode)e.Node; fsFolderInfoFullName.Text = ""; fsFolderInfoIsolationCombo.SelectedIndex = -1; if (folderNode == null) { return; } fsFolderInfoIsolationCombo.Enabled = true; //(folderNode != fsFolderTree.Nodes[0]); VirtFsNode virtFsNode = folderNode.virtFsNode; // Avoids CS1690 // Fill info panel String fullName = treeHelper.GetFullNodeName(folderNode); fsFolderInfoFullName.Text = "[" + Win32Function.StrFormatByteSize64(virtFsNode.EndOfFile) + "] " + fullName; fsFolderInfoIsolationCombo.SelectedIndex = treeHelper.SandboxFlagsToComboIndex( virtPackage.GetFileSandbox(fullName, false)); // Fill fsFilesList fsFilesList.Items.Clear(); if (folderNode.childFiles != null) { for (int i = folderNode.childFiles.Count - 1; i >= 0; i--) { FileData childFile = folderNode.childFiles[i]; FileListViewItem newItem = new FileListViewItem(); newItem.Text = Path.GetFileName(childFile.virtFsNode.FileName); newItem.SubItems.Add(Win32Function.StrFormatByteSize64(childFile.virtFsNode.EndOfFile)); newItem.flags = (VIRT_FILE_FLAGS)childFile.virtFsNode.FileFlags; if ((newItem.flags & VirtPackageAPI.VIRT_FILE_FLAGS.DEPLOY_UPON_PRELOAD) != 0) { newItem.ImageIndex = 7; } else { newItem.ImageIndex = 6; } //ListViewItem.ListViewSubItem x = new ListViewItem.ListViewSubItem(); //x.Text = ((VIRT_FILE_FLAGS)childFile.virtFsNode.FileFlags).ToString(); //newItem.SubItems.Add(x); newItem.SubItems.Add(Path.GetExtension(newItem.Text)); newItem.fileSize = childFile.virtFsNode.EndOfFile; if (childFile.addedFrom != "") { if (folderNode.deleted) { folderNode.childFiles.Remove(childFile); // Added file in a Removed folder. Forbidden!! continue; } else { newItem.ForeColor = Color.Green; // Newly-added } } else if (folderNode.ImageIndex == 5) // deleted { newItem.ForeColor = Color.Red; } else if (childFile.deleted) { newItem.ForeColor = Color.Red; } fsFilesList.Items.Add(newItem); } } }