/// <summary> /// Apply the settings selected in the options form and hide it. /// </summary> /// <param name="modifierKeyText"> /// The modifier part of the hotkey. /// </param> /// <param name="keyText"> /// The key part of the hotkey. /// </param> public void Apply(SettingsDTO settingsDTO) { Enum.TryParse(settingsDTO.Hotkey.ModifierKey, out ModifierKey modifierKey); Enum.TryParse(settingsDTO.Hotkey.Key, out Keys key); Hotkey hotkey = new Hotkey(modifierKey, key); List <VoiceBindingEntity> voiceBindingEntities = new List <VoiceBindingEntity>(); foreach (VoiceBindingDTO voiceBindingDTO in settingsDTO.VoiceBindings) { Enum.TryParse(voiceBindingDTO.ModifierKey, out ModifierKey bindingModifierKey); Enum.TryParse(voiceBindingDTO.Key, out Keys biningKey); string bindingVoice = voiceBindingDTO.Voice; Hotkey bindingHotkey = new Hotkey(bindingModifierKey, biningKey); VoiceBindingEntity voiceBindingEntity = new VoiceBindingEntity(bindingHotkey, bindingVoice); voiceBindingEntities.Add(voiceBindingEntity); } SettingsFile settingsFile = TTSEngine.GetSettings(); settingsFile.Hotkey = hotkey; settingsFile.ShouldSayChangedLanguage = settingsDTO.ShouldSayChangedLanguage; settingsFile.VoiceBindings = voiceBindingEntities; TTSEngine.UpdateSettings(settingsFile); view.Dispose(); }
public void AddVoiceBinding(VoiceBindingDTO voiceBindingDTO) { SettingsFile settingsFile = TTSEngine.GetSettings(); Enum.TryParse(voiceBindingDTO.ModifierKey, out ModifierKey modifierKey); Enum.TryParse(voiceBindingDTO.Key, out Keys key); Hotkey hotkey = new Hotkey(modifierKey, key); VoiceBindingEntity voiceBindingEntity = new VoiceBindingEntity(hotkey, voiceBindingDTO.Voice); settingsFile.VoiceBindings.Add(voiceBindingEntity); TTSEngine.UpdateSettings(settingsFile); view.Dispose(); settingsController.Populate(); }