private void LibraryListView_AfterLabelEdit(object sender, LabelEditEventArgs e) { if (e.Label != null) { // Rename the asset ListViewItem renamedAsset = LibraryListView.Items[e.Item]; string fullName = GetItemFullName(renamedAsset); string label = renamedAsset.SubItems[FindColumn("Name")].Text; string extension = DosUtils.PathGetExtension(fullName); string rename = fullName.Replace(label, e.Label); if (DosUtils.FileExistFast(rename)) { MOG_Prompt.PromptMessage("Rename Error", "Cannot rename (" + label + ") to (" + e.Label + ") because this asset already exists!"); e.CancelEdit = true; } else { if (!DosUtils.RenameFast(fullName, rename, false)) { MOG_Prompt.PromptMessage("Rename Error", DosUtils.GetLastError()); e.CancelEdit = true; } else { // Update the full filename renamedAsset.SubItems[FindColumn("Fullname")].Text = rename; renamedAsset.SubItems[FindColumn("Extension")].Text = extension; } } } }
private void GameDataTreeView_AfterLabelEdit(object sender, System.Windows.Forms.NodeLabelEditEventArgs e) { try { // Make sure an edit actually occured if (e.Label != null) { guiAssetTreeTag tag = (guiAssetTreeTag)e.Node.Tag; string sourceDirectoryName = tag.FullFilename; string targetDirectoryName = tag.FullFilename.Replace(e.Node.Text, e.Label); e.Node.Tag = new guiAssetTreeTag(targetDirectoryName, e.Node, false); if (!DosUtils.DirectoryMove(sourceDirectoryName, targetDirectoryName)) { MOG.PROMPT.MOG_Prompt.PromptResponse("Rename Directory", DosUtils.GetLastError(), MOGPromptButtons.OK); e.Node.Remove(); e.CancelEdit = true; } // Fire off our AfterSelect, so that it updates everything propertly e.Node.Text = e.Label; this.GameDataTreeView_AfterSelect(this.GameDataTreeView, new TreeViewEventArgs(e.Node, TreeViewAction.Unknown)); } GameDataTreeView.LabelEdit = false; } catch (Exception ex) { MOG.PROMPT.MOG_Prompt.PromptResponse("Rename Directory", ex.Message, MOGPromptButtons.OK); e.CancelEdit = true; e.Node.Remove(); GameDataTreeView.LabelEdit = false; } }
private void GameDataCreateMenuItem_Click(object sender, System.EventArgs e) { try { // Create a directory as a child directory of a node if (GameDataTreeView.SelectedNode != null) { guiAssetTreeTag tag = GameDataTreeView.SelectedNode.Tag as guiAssetTreeTag; string directoryPath = tag.FullFilename + "\\NewDirectory"; TreeNode directory = CreateDirectoryNode(tag.FullFilename + "\\NewDirectory", null); // Now create the folder if (!DosUtils.DirectoryCreate(directoryPath)) { MOG_Prompt.PromptResponse("Create Directory", DosUtils.GetLastError(), MOGPromptButtons.OK); } else { // Now edit the name of this node GameDataTreeView.LabelEdit = true; GameDataTreeView.SelectedNode.Nodes.Add(directory); GameDataTreeView.SelectedNode = directory; GameDataTreeView.SelectedNode.BeginEdit(); } } else { // Create a directory at the root of the project string directoryPath = MOG_ControllerProject.GetCurrentSyncDataController().GetSyncDirectory() + "\\NewDirectory"; TreeNode directory = CreateDirectoryNode(directoryPath, null); // Now create the folder if (!DosUtils.DirectoryCreate(directoryPath)) { MOG_Prompt.PromptResponse("Create Directory", DosUtils.GetLastError(), MOGPromptButtons.OK); } else { // Now edit the name of this node GameDataTreeView.LabelEdit = true; GameDataTreeView.SelectedNode = directory; directory.BeginEdit(); } } } catch (Exception ex) { MOG_Report.ReportMessage("Create Directory", ex.Message, ex.StackTrace, MOG_ALERT_LEVEL.CRITICAL); } }
private void Clean_Worker(object sender, DoWorkEventArgs e) { BackgroundWorker worker = sender as BackgroundWorker; ArrayList selectedItems = e.Argument as ArrayList; string workspaceDirectory = MOG_ControllerProject.GetWorkspaceDirectory() + "\\"; for (int i = 0; i < selectedItems.Count && !worker.CancellationPending; i++) { string file = selectedItems[i] as string; string relativeFile = file; if (file.StartsWith(workspaceDirectory, StringComparison.CurrentCultureIgnoreCase)) { relativeFile = file.Substring(workspaceDirectory.Length); } string message = "Deleting:\n" + " " + Path.GetDirectoryName(relativeFile) + "\n" + " " + Path.GetFileName(relativeFile); worker.ReportProgress(i * 100 / selectedItems.Count, message); // Check if this file really exists? if (DosUtils.FileExistFast(file)) { if (!DosUtils.Recycle(file)) { // Error MOG_Prompt.PromptMessage("Delete File", "Could not delete:\n" + file); } else { if (!DosUtils.DirectoryDeleteEmptyParentsFast(Path.GetDirectoryName(file), true)) { if (DosUtils.GetLastError() != null && DosUtils.GetLastError().Length > 0) { // Error MOG_Prompt.PromptMessage("Delete directory", "Could not delete directory:\n" + Path.GetDirectoryName(file)); } } } } } }
private void DeployCheckedItems_Worker(object sender, DoWorkEventArgs e) { BackgroundWorker worker = sender as BackgroundWorker; List <object> args = e.Argument as List <object>; List <VersionNode> versionNodes = args[0] as List <VersionNode>; string deploymentDirectory = args[1] as string; string deploymentTarget = args[2] as string; // We are going to attemp to copy all check clients to their respective deployment directories for (int i = 0; i < versionNodes.Count && !worker.CancellationPending; i++) { VersionNode target = versionNodes[i]; // Set our current directory in the subDirectory of this versions type string deployTarget = target.Type + "\\" + deploymentTarget; // Clear out any previous deployment if (DosUtils.DirectoryExist(deploymentDirectory + "\\" + deployTarget)) { worker.ReportProgress(i * 100 / versionNodes.Count, "Removing previous (" + target.Type + ") build"); if (!DosUtils.DirectoryDelete(deploymentDirectory + "\\" + deployTarget)) { throw new Exception(DosUtils.GetLastError()); } } worker.ReportProgress(i * 100 / versionNodes.Count, "Copying new(" + target.Type + ") build named:" + target.Name); // Copy our new deployment if (!DosUtils.DirectoryCopyFast(target.SourceDirectory, deploymentDirectory + "\\" + deployTarget, true)) { throw new Exception(DosUtils.GetLastError()); } worker.ReportProgress(i * 100 / versionNodes.Count, target.Type + " named:" + target.Name + " has been deployed!"); } }