public void DeserializeMetadata() { if (!String.IsNullOrEmpty(metadata)) { MetaData = DivinityJsonUtils.SafeDeserialize <QueryFilesPublishedFileDivinityMetadataMain>(metadata); } }
public bool LoadKeybindings(MainWindowViewModel vm, string filePath = @"Data\keybindings.json") { try { if (File.Exists(filePath)) { using (var reader = File.OpenText(filePath)) { var fileText = reader.ReadToEnd(); var allKeybindings = DivinityJsonUtils.SafeDeserialize <Dictionary <string, Hotkey> >(fileText); if (allKeybindings != null) { foreach (var kvp in allKeybindings) { var existingHotkey = All.FirstOrDefault(x => x.ID.Equals(kvp.Key, StringComparison.OrdinalIgnoreCase)); if (existingHotkey != null) { existingHotkey.Key = kvp.Value.Key; existingHotkey.Modifiers = kvp.Value.Modifiers; existingHotkey.UpdateDisplayBindingText(); } } } else { DivinityApp.Log("Error deserializing keybindings.json - result is null."); DivinityApp.Log(fileText); } } } } catch (Exception ex) { vm.ShowAlert($"Error loading keybindings at '{filePath}': {ex}", AlertType.Danger); } return(false); }