Beispiel #1
0
        // Only called when nav data path changes.
        private async Task TryUpdateWptAndAirportsAndSaveOptions()
        {
            var wptList = TryLoadWpts();

            if (wptList == null)
            {
                return;
            }

            var airportList = TryLoadAirports();

            if (airportList == null)
            {
                return;
            }

            var navaids = TryLoadNavaids();

            if (navaids == null)
            {
                return;
            }

            if (!TrySaveOptions())
            {
                return;
            }

            // Successful
            await tracksControl.Update(wptList, airportList, navaids);

            NavDataLocationChanged?.Invoke(this, EventArgs.Empty);
            Close();
        }
        // Only called when nav data path changes.
        private async Task TryUpdateWptAndAirportsAndSaveOptions()
        {
            var wptList = TryLoadWpts();

            if (wptList != null)
            {
                var airportList = TryLoadAirports();

                if (airportList != null && TrySaveOptions())
                {
                    // Successful
                    await tracksForm.Update(wptList, airportList);

                    NavDataLocationChanged?.Invoke(this, EventArgs.Empty);
                    Close();
                }
            }
        }
Beispiel #3
0
        private bool TrySaveOptions()
        {
            var newSetting = ValidateSetting();

            if (OptionManager.TrySaveFile(newSetting))
            {
                var oldSetting = appSettingsLocator.Instance;
                appSettingsLocator.Instance = newSetting;

                if (oldSetting.NavDataLocation != newSetting.NavDataLocation)
                {
                    NavDataLocationChanged?.Invoke(this, EventArgs.Empty);
                }

                return(true);
            }
            else
            {
                this.ShowError("Failed to save options.");
                return(false);
            }
        }