Ejemplo n.º 1
0
        /// <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));
        }