private void treeView_AfterLabelEdit(object sender, NodeLabelEditEventArgs e)
{
if (e.Label != null && e.Label.Length > 0)
{
FileData fileData = e.Node.Tag as FileData;
IModuleFileData moduleFileData = e.Node.Tag as IModuleFileData;
ModuleFile moduleFile = moduleFileData.GetModuleFile();
string oldAlias = moduleFile.FullAlias;
Module mod = moduleFile.Module;
string newAlias = mod.Name + ":" + e.Label;
// Update the references to use the new alias.
foreach (FileData reference in fileData.ReferencedByFileData.Values)
{
if (reference.FlatFileData != null)
{
string updatedFlatFile = reference.FlatFileData.Replace(oldAlias, newAlias);
reference.TrySetFlatFileData(updatedFlatFile);
reference.TrySaveFile();
}
}
mod.AddToManifest(e.Label, moduleFile.OriginalPath);
mod.RemoveFromManifest("aliases", moduleFile.Alias);
mod.WriteManifestToFile();
Reload();
}
else
{
e.CancelEdit = true;
}
}