private void replaceToolStripMenuItem_Click(object sender, EventArgs e) { TreeNode node = treeViewSfar.SelectedNode; if (isFile(node) && DialogSelectFileToReplace.ShowDialog() == DialogResult.OK) { string selectedFile = Path.GetFileName(DialogSelectFileToReplace.FileName); if (string.Compare(selectedFile, node.Text) != 0) { DialogResult replaceQuestion = MessageBox.Show("Warning: " + selectedFile + " has a different name from the original " + node.Text + ", would you like to continue?", "Warning, different file names", MessageBoxButtons.YesNo, MessageBoxIcon.Exclamation); if (replaceQuestion == DialogResult.No) { return; } } if (dlcEditor.isFileSetForDelete(node.Name)) { dlcEditor.undoDeleteFile(node.Name); } dlcEditor.setReplaceFile(node.Name, DialogSelectFileToReplace.FileName); node.BackColor = Color.Yellow; toolStripSaveFile.Enabled = true; treeViewSfar.SelectedNode = null; } }
//------------------------- GUI Context Menu Functions -------------------------- private void addFileToolStripMenuItem_Click(object sender, EventArgs e) { TreeNode node = treeViewSfar.SelectedNode; if (isFolder(node) && DialogSelectFileToReplace.ShowDialog() == DialogResult.OK) { string selectedFile = Path.GetFileName(DialogSelectFileToReplace.FileName); string dlcNewFile = getFolderPath(node) + "/" + selectedFile; //check if the added file already exists in the dlc archive if (dlcBase.fileList.Contains(FileNameHash.Compute(dlcNewFile))) { DialogResult replaceQuestion = MessageBox.Show("Warning! " + dlcNewFile + " already exist in the archive, would you like to replace it?", "Warning, adding existing file", MessageBoxButtons.YesNo, MessageBoxIcon.Exclamation); if (replaceQuestion == DialogResult.No) { return; } else { TreeNode replaceNode = node.Nodes[node.Nodes.IndexOfKey(dlcNewFile)]; dlcEditor.setReplaceFile(dlcNewFile, DialogSelectFileToReplace.FileName); replaceNode.BackColor = Color.Yellow; toolStripSaveFile.Enabled = true; return; } } TreeNode last = node.Nodes.Add(selectedFile, selectedFile); last.Name = dlcNewFile; last.BackColor = Color.LightGreen; switch (Path.GetExtension(selectedFile)) { case ".afc": last.ImageIndex = 3; break; case ".bik": last.ImageIndex = 4; break; case ".tfc": last.ImageIndex = 2; break; default: last.ImageIndex = 1; break; } dlcEditor.setAddFile(dlcNewFile, DialogSelectFileToReplace.FileName); toolStripSaveFile.Enabled = true; treeViewSfar.SelectedNode = null; } }