//NameList private void NameList_Item_Click(object sender, RoutedEventArgs e) { if (effectContainerFile == null) { return; } try { MenuItem selectedMenuItem = e.OriginalSource as MenuItem; if (selectedMenuItem != null) { NameList.NameListFile nameList = selectedMenuItem.DataContext as NameList.NameListFile; if (nameList != null) { eepkEditor.nameListManager.ApplyNameList(effectContainerFile.Effects, nameList.GetNameList()); } } } catch (Exception ex) { SaveExceptionLog(ex.ToString()); MessageBox.Show(String.Format("Failed to apply the name list.\n\nDetails: {0}\n\nA log containing more details about the error was saved at \"{1}\".", ex.Message, SettingsManager.Instance.GetErrorLogPath()), "Error", MessageBoxButton.OK, MessageBoxImage.Error); } }
public void SaveNameList(IList <Effect> effects) { SaveFileDialog saveDialog = new SaveFileDialog(); saveDialog.Title = "Save Name List"; saveDialog.Filter = "XML file | *.xml"; saveDialog.InitialDirectory = Path.GetFullPath(NameListDir); saveDialog.AddExtension = true; saveDialog.ShowDialog(); if (!String.IsNullOrWhiteSpace(saveDialog.FileName)) { string selectedDir = Path.GetDirectoryName(saveDialog.FileName); //Create the Name List NameList nameList = new NameList(); nameList.Names = new List <NameListEntry>(); foreach (var effect in effects) { if (effect.NameList != null) { nameList.Names.Add(new NameListEntry() { EffectID = effect.IndexNum, Description = effect.NameList }); } } //Save Name List nameList.Save(saveDialog.FileName); //Add Name List to current list if (selectedDir == Path.GetFullPath(NameListDir)) { NameListFile nameListFile = new NameListFile(); nameListFile.Name = Path.GetFileNameWithoutExtension(saveDialog.FileName); nameListFile.path = saveDialog.FileName; nameListFile.File = nameList; LoadedNameLists.Add(nameListFile); } MessageBox.Show("The name list was saved.", "Save Name List", MessageBoxButton.OK, MessageBoxImage.Information); } else { MessageBox.Show("The entered path was invalid.", "Save Name List", MessageBoxButton.OK, MessageBoxImage.Error); } }