/// <summary> /// Obtain configuration from a file. If the file name is not supplied the the default /// path of %APPDATA%\EDDI\eddi.json is used /// </summary> public static EDDIConfiguration FromFile(string filename=null) { if (filename == null) { String dataDir = Environment.GetEnvironmentVariable("AppData") + "\\EDDI"; Directory.CreateDirectory(dataDir); filename = dataDir + "\\eddi.json"; } EDDIConfiguration configuration; try { configuration = JsonConvert.DeserializeObject<EDDIConfiguration>(File.ReadAllText(filename)); } catch { configuration = new EDDIConfiguration(); } configuration.dataPath = filename; return configuration; }
/// <summary> /// Obtain configuration from a file. If the file name is not supplied the the default /// path of %APPDATA%\EDDI\eddi.json is used /// </summary> public static EDDIConfiguration FromFile(string filename = null) { if (filename == null) { String dataDir = Environment.GetEnvironmentVariable("AppData") + "\\EDDI"; Directory.CreateDirectory(dataDir); filename = dataDir + "\\eddi.json"; } EDDIConfiguration configuration; try { configuration = JsonConvert.DeserializeObject <EDDIConfiguration>(File.ReadAllText(filename)); } catch { configuration = new EDDIConfiguration(); } configuration.dataPath = filename; return(configuration); }
public MainWindow() { InitializeComponent(); // Configured the EDDI tab eddiConfiguration = EDDIConfiguration.FromFile(); eddiHomeSystemText.Text = eddiConfiguration.HomeSystem; eddiHomeStationText.Text = eddiConfiguration.HomeStation; eddiInsuranceDecimal.Value = eddiConfiguration.Insurance; // Configure the Companion App tab CompanionAppCredentials companionAppCredentials = CompanionAppCredentials.FromFile(); // See if the credentials work companionAppService = new CompanionAppService(eddiConfiguration.Debug); try { commander = companionAppService.Profile(); setUpCompanionAppComplete("Your connection to the companion app is operational, Commander " + commander.Name); } catch (Exception ex) { if (companionAppService.CurrentState == CompanionAppService.State.NEEDS_LOGIN) { // Fall back to stage 1 setUpCompanionAppStage1(); } else if (companionAppService.CurrentState == CompanionAppService.State.NEEDS_CONFIRMATION) { // Fall back to stage 2 setUpCompanionAppStage2(); } } if (commander != null) { setShipyardFromConfiguration(); } // Configure the NetLog tab NetLogConfiguration netLogConfiguration = NetLogConfiguration.FromFile(); netLogPathTextBox.Text = netLogConfiguration.path; // Configure the EDSM tab StarMapConfiguration starMapConfiguration = StarMapConfiguration.FromFile(); edsmApiKeyTextBox.Text = starMapConfiguration.apiKey; edsmCommanderNameTextBox.Text = starMapConfiguration.commanderName; // 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) { speechOptions.Add(voice.VoiceInfo.Name); } } } ttsVoiceDropDown.ItemsSource = speechOptions; ttsVoiceDropDown.Text = speechServiceConfiguration.StandardVoice == null ? "Windows TTS default" : speechServiceConfiguration.StandardVoice; } catch (Exception e) { using (System.IO.StreamWriter errLog = new System.IO.StreamWriter(Environment.GetEnvironmentVariable("AppData") + @"\EDDI\speech.log", true)) { errLog.WriteLine("" + System.Threading.Thread.CurrentThread.ManagedThreadId + ": Caught exception " + e); } } ttsRateSlider.Value = speechServiceConfiguration.Rate; ttsEffectsLevelSlider.Value = speechServiceConfiguration.EffectsLevel; ttsDistortCheckbox.IsChecked = speechServiceConfiguration.DistortOnDamage; ttsTestShipDropDown.ItemsSource = ShipDefinitions.ShipModels; ttsTestShipDropDown.Text = "Adder"; }