private void removeFromMod(string filename) { // Close open documents foreach (var t in OpenDocuments.Where(t => t.FileName == filename)) { t.Close(); break; } // Delete from file structure var fullpath = Path.Combine(ActiveMod.FileDirectory, filename); if (File.Exists(fullpath)) { File.Delete(fullpath); } else { try { Directory.Delete(fullpath, true); } catch (Exception) { AddOutput("Failed to delete " + fullpath + "!"); } } // Delete from mod explorer ModExplorer?.DeleteNode(filename); SaveMod(); }
private void ShowModExplorer() { if (ModExplorer == null || ModExplorer.IsDisposed) { ModExplorer = new frmModExplorer(); ModExplorer.Show(dockPanel, DockState.DockLeft); ModExplorer.RequestFileOpen += ModExplorer_RequestFileOpen; ModExplorer.RequestFileDelete += ModExplorer_RequestFileDelete; ModExplorer.RequestFileAdd += ModExplorer_RequestAddFile; ModExplorer.RequestFileRename += ModExplorer_RequestFileRename; } ModExplorer.Activate(); }
/// <summary> /// Closes all the "file documents", resets modexplorer and clears the output. /// </summary> private void ResetWindows() { if (ActiveMod != null) { foreach (var t in OpenDocuments) { t.Close(); break; } } ModExplorer?.Close(); ModExplorer = null; ShowModExplorer(); ShowOutput(); ClearOutput(); }
private void ModExplorer_RequestFileRename(object sender, RequestFileArgs e) { var filename = e.File; var fullpath = Path.Combine(ActiveMod.FileDirectory, filename); if (!File.Exists(fullpath)) { return; } var dlg = new frmRenameDialog(); dlg.FileName = filename; if (dlg.ShowDialog() == DialogResult.OK && dlg.FileName != filename) { var newfullpath = Path.Combine(ActiveMod.FileDirectory, dlg.FileName); if (File.Exists(newfullpath)) { return; } // Rename file in file structure try { Directory.CreateDirectory(Path.GetDirectoryName(newfullpath)); } catch { } File.Move(fullpath, newfullpath); // Rename file in mod explorer if (ModExplorer != null) { ModExplorer.DeleteNode(filename); ModExplorer.UpdateModFileList(true, true); } } }
private void UpdateModFileList(bool clear = false) { ModExplorer?.UpdateModFileList(true, clear); }