private void LoadResponders(EDDIConfiguration eddiConfiguration) { foreach (EDDIResponder responder in EDDI.Instance.responders) { Logging.Debug("Adding configuration tab for " + responder.ResponderName()); PluginSkeleton skeleton = new PluginSkeleton(responder.ResponderName()); skeleton.plugindescription.Text = responder.ResponderDescription(); if (eddiConfiguration.Plugins.TryGetValue(responder.ResponderName(), out bool enabled)) { skeleton.pluginenabled.IsChecked = enabled; } else { // Default to enabled skeleton.pluginenabled.IsChecked = true; eddiConfiguration.ToFile(); } // Add responder-specific configuration items System.Windows.Controls.UserControl monitorConfiguration = responder.ConfigurationTabItem(); if (monitorConfiguration != null) { monitorConfiguration.Margin = new Thickness(10); skeleton.panel.Children.Add(monitorConfiguration); } TabItem item = new TabItem { Header = responder.LocalizedResponderName() }; item.Content = skeleton; tabControl.Items.Add(item); } }
private List <TabItem> LoadMonitors(EDDIConfiguration eddiConfiguration) { List <TabItem> result = new List <TabItem>(); foreach (EDDIMonitor monitor in EDDI.Instance.monitors) { Logging.Debug("Adding configuration tab for " + monitor.MonitorName()); System.Windows.Controls.UserControl monitorConfiguration = monitor.ConfigurationTabItem(); // Only show a tab if this can be turned off or has configuration elements if (monitorConfiguration != null || !monitor.IsRequired()) { PluginSkeleton skeleton = new PluginSkeleton(monitor.MonitorName()); skeleton.plugindescription.Text = monitor.MonitorDescription(); if (eddiConfiguration.Plugins.TryGetValue(monitor.MonitorName(), out bool enabled)) { skeleton.pluginenabled.IsChecked = enabled; } else { // Default to enabled skeleton.pluginenabled.IsChecked = true; eddiConfiguration.ToFile(); } // Add monitor-specific configuration items if (monitorConfiguration != null) { skeleton.panel.Children.Add(monitorConfiguration); } TabItem item = new TabItem { Header = monitor.LocalizedMonitorName() }; item.Content = skeleton; result.Add(item); } } return(result); }
public MainWindow(bool fromVA = false) { InitializeComponent(); this.fromVA = fromVA; // Start the EDDI instance EDDI.Instance.Start(); // Configure the EDDI tab versionText.Text = Constants.EDDI_VERSION; //// Need to set up the correct information in the hero text depending on from where we were started if (fromVA) { heroText.Text = "Any changes made here will take effect automatically in VoiceAttack. You can close this window when you have finished."; } else { heroText.Text = "If you are using VoiceAttack then please close this window before you start VoiceAttack for your changes to take effect. You can access this window from VoiceAttack with the \"Configure EDDI\" command."; } EDDIConfiguration eddiConfiguration = EDDIConfiguration.FromFile(); eddiHomeSystemText.Text = eddiConfiguration.HomeSystem; eddiHomeStationText.Text = eddiConfiguration.HomeStation; eddiInsuranceDecimal.Text = eddiConfiguration.Insurance.ToString(CultureInfo.InvariantCulture); eddiVerboseLogging.IsChecked = eddiConfiguration.Debug; Logging.Verbose = eddiConfiguration.Debug; // Configure the Companion App tab CompanionAppCredentials companionAppCredentials = CompanionAppCredentials.FromFile(); companionAppEmailText.Text = companionAppCredentials.email; // See if the credentials work try { profile = CompanionAppService.Instance.Profile(); if (profile == null) { setUpCompanionAppComplete("Your connection to the companion app is good but experiencing temporary issues. Your information should be available soon"); } else { setUpCompanionAppComplete("Your connection to the companion app is operational, Commander " + profile.Cmdr.name); } } catch (Exception) { if (CompanionAppService.Instance.CurrentState == CompanionAppService.State.NEEDS_LOGIN) { // Fall back to stage 1 setUpCompanionAppStage1(); } else if (CompanionAppService.Instance.CurrentState == CompanionAppService.State.NEEDS_CONFIRMATION) { // Fall back to stage 2 setUpCompanionAppStage2(); } } if (profile != null) { setShipyardFromConfiguration(); } // Configure the Text-to-speech tab SpeechServiceConfiguration speechServiceConfiguration = SpeechServiceConfiguration.FromFile(); List <string> speechOptions = new List <string>(); speechOptions.Add("Windows TTS default"); try { using (SpeechSynthesizer synth = new SpeechSynthesizer()) { foreach (InstalledVoice voice in synth.GetInstalledVoices()) { if (voice.Enabled && (!voice.VoiceInfo.Name.Contains("Microsoft Server Speech Text to Speech Voice"))) { speechOptions.Add(voice.VoiceInfo.Name); } } } ttsVoiceDropDown.ItemsSource = speechOptions; ttsVoiceDropDown.Text = speechServiceConfiguration.StandardVoice == null ? "Windows TTS default" : speechServiceConfiguration.StandardVoice; } catch (Exception e) { Logging.Warn("" + Thread.CurrentThread.ManagedThreadId + ": Caught exception " + e); } ttsVolumeSlider.Value = speechServiceConfiguration.Volume; ttsRateSlider.Value = speechServiceConfiguration.Rate; ttsEffectsLevelSlider.Value = speechServiceConfiguration.EffectsLevel; ttsDistortCheckbox.IsChecked = speechServiceConfiguration.DistortOnDamage; disableSsmlCheckbox.IsChecked = speechServiceConfiguration.DisableSsml; ttsTestShipDropDown.ItemsSource = ShipDefinitions.ShipModels; ttsTestShipDropDown.Text = "Adder"; foreach (EDDIMonitor monitor in EDDI.Instance.monitors) { Logging.Debug("Adding configuration tab for " + monitor.MonitorName()); PluginSkeleton skeleton = new PluginSkeleton(monitor.MonitorName()); skeleton.plugindescription.Text = monitor.MonitorDescription(); bool enabled; if (eddiConfiguration.Plugins.TryGetValue(monitor.MonitorName(), out enabled)) { skeleton.pluginenabled.IsChecked = enabled; } else { // Default to enabled skeleton.pluginenabled.IsChecked = true; eddiConfiguration.ToFile(); } // Add monitor-specific configuration items UserControl monitorConfiguration = monitor.ConfigurationTabItem(); if (monitorConfiguration != null) { monitorConfiguration.Margin = new Thickness(10); skeleton.panel.Children.Add(monitorConfiguration); } TabItem item = new TabItem { Header = monitor.MonitorName() }; item.Content = skeleton; tabControl.Items.Add(item); } foreach (EDDIResponder responder in EDDI.Instance.responders) { Logging.Debug("Adding configuration tab for " + responder.ResponderName()); PluginSkeleton skeleton = new PluginSkeleton(responder.ResponderName()); skeleton.plugindescription.Text = responder.ResponderDescription(); bool enabled; if (eddiConfiguration.Plugins.TryGetValue(responder.ResponderName(), out enabled)) { skeleton.pluginenabled.IsChecked = enabled; } else { // Default to enabled skeleton.pluginenabled.IsChecked = true; eddiConfiguration.ToFile(); } // Add responder-specific configuration items UserControl monitorConfiguration = responder.ConfigurationTabItem(); if (monitorConfiguration != null) { monitorConfiguration.Margin = new Thickness(10); skeleton.panel.Children.Add(monitorConfiguration); } TabItem item = new TabItem { Header = responder.ResponderName() }; item.Content = skeleton; tabControl.Items.Add(item); } EDDI.Instance.Start(); }
public MainWindow(bool fromVA = false) { InitializeComponent(); this.fromVA = fromVA; // Start the EDDI instance EDDI.Instance.Start(); // Configure the EDDI tab versionText.Text = Constants.EDDI_VERSION; //// Need to set up the correct information in the hero text depending on from where we were started if (fromVA) { heroText.Text = "Any changes made here will take effect automatically in VoiceAttack. You can close this window when you have finished."; } else { heroText.Text = "If you are using VoiceAttack then please close this window before you start VoiceAttack for your changes to take effect. You can access this window from VoiceAttack with the \"Configure EDDI\" command."; } EDDIConfiguration eddiConfiguration = EDDIConfiguration.FromFile(); eddiHomeSystemText.Text = eddiConfiguration.HomeSystem; eddiHomeStationText.Text = eddiConfiguration.HomeStation; eddiInsuranceDecimal.Text = eddiConfiguration.Insurance.ToString(CultureInfo.InvariantCulture); eddiVerboseLogging.IsChecked = eddiConfiguration.Debug; Logging.Verbose = eddiConfiguration.Debug; // Configure the Companion App tab CompanionAppCredentials companionAppCredentials = CompanionAppCredentials.FromFile(); companionAppEmailText.Text = companionAppCredentials.email; // See if the credentials work try { profile = CompanionAppService.Instance.Profile(); if (profile == null) { setUpCompanionAppComplete("Your connection to the companion app is good but experiencing temporary issues. Your information should be available soon"); } else { setUpCompanionAppComplete("Your connection to the companion app is operational, Commander " + profile.Cmdr.name); } } catch (Exception) { if (CompanionAppService.Instance.CurrentState == CompanionAppService.State.NEEDS_LOGIN) { // Fall back to stage 1 setUpCompanionAppStage1(); } else if (CompanionAppService.Instance.CurrentState == CompanionAppService.State.NEEDS_CONFIRMATION) { // Fall back to stage 2 setUpCompanionAppStage2(); } } if (profile != null) { setShipyardFromConfiguration(); } // Configure the Text-to-speech tab SpeechServiceConfiguration speechServiceConfiguration = SpeechServiceConfiguration.FromFile(); List<string> speechOptions = new List<string>(); speechOptions.Add("Windows TTS default"); try { using (SpeechSynthesizer synth = new SpeechSynthesizer()) { foreach (InstalledVoice voice in synth.GetInstalledVoices()) { if (voice.Enabled && (!voice.VoiceInfo.Name.Contains("Microsoft Server Speech Text to Speech Voice"))) { speechOptions.Add(voice.VoiceInfo.Name); } } } ttsVoiceDropDown.ItemsSource = speechOptions; ttsVoiceDropDown.Text = speechServiceConfiguration.StandardVoice == null ? "Windows TTS default" : speechServiceConfiguration.StandardVoice; } catch (Exception e) { Logging.Warn("" + Thread.CurrentThread.ManagedThreadId + ": Caught exception " + e); } ttsVolumeSlider.Value = speechServiceConfiguration.Volume; ttsRateSlider.Value = speechServiceConfiguration.Rate; ttsEffectsLevelSlider.Value = speechServiceConfiguration.EffectsLevel; ttsDistortCheckbox.IsChecked = speechServiceConfiguration.DistortOnDamage; disableSsmlCheckbox.IsChecked = speechServiceConfiguration.DisableSsml; ttsTestShipDropDown.ItemsSource = ShipDefinitions.ShipModels; ttsTestShipDropDown.Text = "Adder"; foreach (EDDIMonitor monitor in EDDI.Instance.monitors) { Logging.Debug("Adding configuration tab for " + monitor.MonitorName()); PluginSkeleton skeleton = new PluginSkeleton(monitor.MonitorName()); skeleton.plugindescription.Text = monitor.MonitorDescription(); bool enabled; if (eddiConfiguration.Plugins.TryGetValue(monitor.MonitorName(), out enabled)) { skeleton.pluginenabled.IsChecked = enabled; } else { // Default to enabled skeleton.pluginenabled.IsChecked = true; eddiConfiguration.ToFile(); } // Add monitor-specific configuration items UserControl monitorConfiguration = monitor.ConfigurationTabItem(); if (monitorConfiguration != null) { monitorConfiguration.Margin = new Thickness(10); skeleton.panel.Children.Add(monitorConfiguration); } TabItem item = new TabItem { Header = monitor.MonitorName() }; item.Content = skeleton; tabControl.Items.Add(item); } foreach (EDDIResponder responder in EDDI.Instance.responders) { Logging.Debug("Adding configuration tab for " + responder.ResponderName()); PluginSkeleton skeleton = new PluginSkeleton(responder.ResponderName()); skeleton.plugindescription.Text = responder.ResponderDescription(); bool enabled; if (eddiConfiguration.Plugins.TryGetValue(responder.ResponderName(), out enabled)) { skeleton.pluginenabled.IsChecked = enabled; } else { // Default to enabled skeleton.pluginenabled.IsChecked = true; eddiConfiguration.ToFile(); } // Add responder-specific configuration items UserControl monitorConfiguration = responder.ConfigurationTabItem(); if (monitorConfiguration != null) { monitorConfiguration.Margin = new Thickness(10); skeleton.panel.Children.Add(monitorConfiguration); } TabItem item = new TabItem { Header = responder.ResponderName() }; item.Content = skeleton; tabControl.Items.Add(item); } EDDI.Instance.Start(); }