Exemplo n.º 1
0
        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;
            }
        }