public static void LoadChangeset(string FileName, bool RevertChanges) { XmlDocument Changeset = new XmlDocument(); try { Changeset.Load(FileName); } catch (Exception E) { MessageBox.Show(String.Format(I18N.GetText("Message:ChangesetLoadError"), E.Message), I18N.GetText("Title:ChangesetLoadError"), MessageBoxButtons.OK, MessageBoxIcon.Error); } foreach (XmlNode XN in Changeset.DocumentElement.ChildNodes) { XmlElement XNameChange = XN as XmlElement; if (XNameChange != null && XNameChange.Name == "name-change" && XNameChange.HasAttribute("id") && XNameChange.HasAttribute("old") && XNameChange.HasAttribute("new")) { uint ID = XmlConvert.ToUInt32(XNameChange.Attributes["id"].InnerText); string Old = XNameChange.Attributes["old"].InnerText; string New = XNameChange.Attributes["new"].InnerText; if (RevertChanges) { NameChange.Add(ID, New, Old); } else { NameChange.Add(ID, Old, New); } } } }
private void lstNPCNames_AfterLabelEdit(object sender, LabelEditEventArgs e) { if (e.Label == null) // User made no changes to the label text { return; } NPCInfo NI = this.lstNPCNames.Items[e.Item].Tag as NPCInfo; if (NI != null) { string NewName = e.Label; if (NewName.Length > 0x18) { NewName = NewName.Substring(0, 0x18); this.lstNPCNames.Items[e.Item].Text = NewName; } NameChange.Add(NI.ID, NI.Name, NewName); NI.Name = NewName; } }
public static void Revert(NameChange NC) { NameChange.Add(NC.ID, NC.New_, NC.Old_); }