private void contextMenuTreeView_Opening(object sender, CancelEventArgs e) { TreeNode selNode = (TreeNode)treeView.GetNodeAt(treeView.PointToClient(Cursor.Position)); if (selNode == null || selNode.Parent == null) { e.Cancel = true; return; } extractToolStripMenuItem.Enabled = true; removeModToolStripMenuItem.Enabled = false; unlocalizeToolStripMenuItem.Enabled = false; removeUnlocalizeToolStripMenuItem.Enabled = false; packThisFolderToolStripMenuItem.Enabled = false; removeResourceToolStripMenuItem.Enabled = false; reintroduceResourceToolStripMenuItem.Enabled = false; doNotPackThisFolderToolStripMenuItem.Enabled = false; if (selNode != null) { //Mod File string filePath = GetWorkspaceFileFromNode(selNode); if (File.Exists(filePath)) { removeModToolStripMenuItem.Enabled = true; return; } //Mod Folder if (Directory.Exists(filePath)) { removeModToolStripMenuItem.Enabled = true; //Can pack if (_ProjectManager.CanBePacked(selNode.Name)) { ResourceCollection resCol = _ProjectManager.GetResourceCollection(selNode.Name); string relativePath = _ProjectManager.GetRelativePath(selNode.Name); if (_ProjectManager.CurrentProject.IsResourceToBePacked(resCol.PartitionName, relativePath)) { doNotPackThisFolderToolStripMenuItem.Enabled = true; } else { packThisFolderToolStripMenuItem.Enabled = true; } } return; } ResourceItem rItem = _ProjectManager.GetResource(selNode.Name); if (rItem != null) { if (rItem.ResourceCollection.IsRegion && rItem.OffInPack == 0) { if (!_ProjectManager.CurrentProject.IsUnlocalized(rItem.ResourceCollection.PartitionName, rItem.RelativePath)) { unlocalizeToolStripMenuItem.Enabled = true; } else { removeUnlocalizeToolStripMenuItem.Enabled = true; } } if (!_ProjectManager.CurrentProject.IsResourceRemoved(rItem.ResourceCollection.PartitionName, rItem.RelativePath)) { removeResourceToolStripMenuItem.Enabled = true; } else { reintroduceResourceToolStripMenuItem.Enabled = true; } return; } } e.Cancel = true; }