/// <summary> /// See base docs. /// </summary> protected override void CreateBindings() { base.CreateBindings(); var configuration = SettingsView.Configuration; var voiceNames = SettingsView.GetVoiceNames().Where(r => r != null).ToList(); AddControlBinder(new CheckBoxBoolBinder <FlightRouteSettings> (configuration.FlightRouteSettings, checkBoxAutomaticallyDownloadNewRoutes, r => r.AutoUpdateEnabled, (r, v) => r.AutoUpdateEnabled = v)); AddControlBinder(new CheckBoxBoolBinder <VersionCheckSettings> (configuration.VersionCheckSettings, checkBoxCheckForNewVersions, r => r.CheckAutomatically, (r, v) => r.CheckAutomatically = v)); AddControlBinder(new CheckBoxBoolBinder <BaseStationSettings> (configuration.BaseStationSettings, checkBoxMinimiseToSystemTray, r => r.MinimiseToSystemTray, (r, v) => r.MinimiseToSystemTray = v)); AddControlBinder(new CheckBoxBoolBinder <AudioSettings> (configuration.AudioSettings, checkBoxAudioEnabled, r => r.Enabled, (r, v) => r.Enabled = v)); AddControlBinder(new NumericIntBinder <VersionCheckSettings> (configuration.VersionCheckSettings, numericDaysBetweenChecks, r => r.CheckPeriodDays, (r, v) => r.CheckPeriodDays = v)); AddControlBinder(new NumericIntBinder <BaseStationSettings> (configuration.BaseStationSettings, numericDurationBeforeAircraftRemovedFromMap, r => r.DisplayTimeoutSeconds, (r, v) => r.DisplayTimeoutSeconds = v)); AddControlBinder(new NumericIntBinder <BaseStationSettings> (configuration.BaseStationSettings, numericDurationBeforeAircraftRemovedFromTracking, r => r.TrackingTimeoutSeconds, (r, v) => r.TrackingTimeoutSeconds = v)); AddControlBinder(new NumericIntBinder <BaseStationSettings> (configuration.BaseStationSettings, numericRemoveFromDisplaySatcom, r => r.SatcomDisplayTimeoutMinutes, (r, v) => r.SatcomDisplayTimeoutMinutes = v)); AddControlBinder(new NumericIntBinder <BaseStationSettings> (configuration.BaseStationSettings, numericRemoveFromTrackingSatcom, r => r.SatcomTrackingTimeoutMinutes, (r, v) => r.SatcomTrackingTimeoutMinutes = v)); AddControlBinder(new NumericIntBinder <GoogleMapSettings> (configuration.GoogleMapSettings, numericDurationOfShortTrails, r => r.ShortTrailLengthSeconds, (r, v) => r.ShortTrailLengthSeconds = v)); AddControlBinder(new NumericIntBinder <AudioSettings> (configuration.AudioSettings, numericReadingSpeed, r => r.VoiceRate, (r, v) => r.VoiceRate = v)); AddControlBinder(new NumericIntBinder <BaseStationSettings> (configuration.BaseStationSettings, numericAutoSavePolarPlots, r => r.AutoSavePolarPlotsMinutes, (r, v) => r.AutoSavePolarPlotsMinutes = v)); AddControlBinder(new ComboBoxValueBinder <AudioSettings, string> (configuration.AudioSettings, comboBoxTextToSpeechVoice, voiceNames, r => r.VoiceName, (r, v) => r.VoiceName = v)); }