private void SaveAllButton_Click(object sender, RoutedEventArgs e) { var backupSuccess = LocaleEditorCommands.BackupDataFiles(ViewModel, ModuleData.Settings.BackupRootDirectory); if (backupSuccess.Result == true) { var successes = LocaleEditorCommands.SaveDataFiles(ViewModel); Log.Here().Important($"Saved {successes} localization files."); } }
private async void OpenLocalizationEditorAsync() { LocaleViewModel localizationData = new LocaleViewModel(); LocaleEditorCommands.LoadSettings(_instance.ViewModel, localizationData); await LocaleEditorCommands.LoadLocalizationDataAsync(localizationData, ViewModel, ViewModel.ManagedProjects.Where(p => p.Selected)); RxApp.MainThreadScheduler.Schedule(_ => { _instance.OpenLocalizationEditorWithData(localizationData); }); }
public static async Task <Unit> OpenLocalizationEditorForProject(ModProjectData modData) { Log.Here().Activity($"Opening locale editor for project {modData.DisplayName}"); LocaleViewModel localizationData = new LocaleViewModel(); LocaleEditorCommands.LoadSettings(_instance.ViewModel, localizationData); await LocaleEditorCommands.LoadLocalizationDataAsync(localizationData, _instance.ViewModel, modData); RxApp.MainThreadScheduler.Schedule(_ => { _instance.OpenLocalizationEditorWithData(localizationData); }); return(Unit.Default); }
public void LoadFromTextualStream(System.IO.StreamReader stream, char delimiter = '\t') { int lineNum = 0; string line; Dictionary <string, int> fileParameters = null; while ((line = stream.ReadLine()) != null) { lineNum += 1; // Skip top line, as it typically describes the columns if (lineNum == 1) { fileParameters = LocaleEditorCommands.GetSheetParamOrder(line, delimiter); } else if (!string.IsNullOrWhiteSpace(line) && fileParameters.Count > 0) { var lineEntries = line.Split(delimiter); string key = LocaleEditorCommands.GetSheetValue("key", fileParameters, lineEntries); string content = LocaleEditorCommands.GetSheetValue("content", fileParameters, lineEntries); string handle = LocaleEditorCommands.GetSheetValue("handle", fileParameters, lineEntries); var entry = new LocaleCustomKeyEntry(this) { Key = key, Content = content }; if (!string.IsNullOrEmpty(handle)) { entry.Handle = handle; } entry.ChangesUnsaved = false; Entries.Add(entry); } } }
public LocaleEditorDesignData() : base() { //var metaFile = new FileInfo(@"G:\Divinity Original Sin 2\DefEd\Data\Mods\Nemesis_627c8d3a-7e6b-4fd2-8ce5-610d553fdbe9\meta.lsx"); //ModProjectData testData = new ModProjectData(metaFile, @"G:\Divinity Original Sin 2\DefEd\Data\Projects"); //var result = LoadStringKeyData(@"G:\Divinity Original Sin 2\DefEd\Data\", testData); //Data = result.Data; //Name = result.Error; ModsGroup.DataFiles.Add(new LocaleTestFileData(ModsGroup, "Skills") { ChangesUnsaved = true }); ModsGroup.DataFiles.Add(new LocaleTestFileData(ModsGroup, "Statuses")); for (var i = 1; i < 4; i++) { ModsGroup.DataFiles.Add(new LocaleTestFileData(ModsGroup, "Potionslalalalala" + i)); } PublicGroup.DataFiles.Add(new LocaleTestFileData(ModsGroup, "Skills")); PublicGroup.DataFiles.Add(new LocaleTestFileData(ModsGroup, "Statuses")); PublicGroup.DataFiles.Add(new LocaleTestFileData(ModsGroup, "Potions")); for (var i = 1; i < 5; i++) { CustomGroup.DataFiles.Add(new LocaleTestFileData(ModsGroup, "Custom" + i)); } foreach (var d in ModsGroup.DataFiles) { LocaleEditorCommands.Debug_CreateEntries(d, d.Entries); } foreach (var d in PublicGroup.DataFiles) { LocaleEditorCommands.Debug_CreateEntries(d, d.Entries); d.ChangesUnsaved = true; d.Entries.First().ChangesUnsaved = true; } foreach (var d in CustomGroup.DataFiles) { d.CanClose = d.CanRename = true; LocaleEditorCommands.Debug_CreateCustomEntries(d, d.Entries); } UpdateCombinedGroup(true); //SelectedGroupIndex = 1; //SelectedGroup.SelectedFileIndex = 2; System.Diagnostics.Trace.WriteLine("Design data test"); SelectedGroupIndex = Groups.IndexOf(PublicGroup); SelectedEntry = CombinedGroup.Tabs.First().Entries.First(); LinkedProjects.Add(new ModProjectData() { DisplayName = "TestMod1" }); LinkedProjects.Add(new ModProjectData() { DisplayName = "TestMod2" }); }
private void LocaleWindow_Closing(object sender, CancelEventArgs e) { LocaleEditorCommands.SaveSettings(ModuleData, ViewModel); ViewModel.MenuData.UnregisterShortcuts(this.InputBindings); }
public void SaveSettings() { LocaleEditorCommands.SaveSettings(ModuleData, ViewModel); }