public static void Initialize()
        {
            if (!UwpDesktop.IsRunningAsUwp())
            {
                JsonConfig.settings.useWindowsLocation = false;
            }
            else if (JsonConfig.settings.useWindowsLocation && !UwpLocation.HasAccess())
            {
                JsonConfig.settings.useWindowsLocation = false;
                JsonConfig.settings.latitude           = null;
                JsonConfig.settings.longitude          = null;
            }

            if (JsonConfig.settings.latitude != null && JsonConfig.settings.longitude != null)
            {
                isReady = true;
                AppContext.RunInBackground();
            }
            else
            {
                ChangeLocation();

                if (JsonConfig.firstRun)
                {
                    AppContext.ShowPopup(_("Welcome! Please enter your location so the app can " +
                                           "determine sunrise and sunset times."));
                }
            }
        }
        private async void okButton_Click(object sender, EventArgs e)
        {
            okButton.Enabled = false;
            JsonConfig.settings.useWindowsLocation = radioButton2.Checked;
            JsonConfig.settings.dontUseLocation    = radioButton3.Checked;

            if (radioButton1.Checked)
            {
                LocationIQService.GetLocationData(locationBox.Text, this);
            }
            else if (radioButton2.Checked)
            {
                bool locationUpdated = await UwpLocation.UpdateGeoposition();

                if (locationUpdated)
                {
                    HandleScheduleChange();
                }
                else
                {
                    hasLocationPermission = UwpLocation.HasAccess();
                    UpdateLocationState();
                    MessageDialog.ShowWarning(_("Failed to get location from Windows location service."), _("Error"));
                }
            }
            else if (radioButton3.Checked)
            {
                JsonConfig.settings.sunriseTime           = sunriseTimePicker.Value.ToLongTimeString();
                JsonConfig.settings.sunsetTime            = sunsetTimePicker.Value.ToLongTimeString();
                JsonConfig.settings.sunriseSunsetDuration = (int)sunriseSunsetDurationBox.Value;
                this.Close();
            }

            okButton.Enabled = true;
        }
Beispiel #3
0
 public static void Initialize()
 {
     if (!UwpDesktop.IsUwpSupported())
     {
         JsonConfig.settings.useWindowsLocation = false;
     }
     else if (JsonConfig.settings.useWindowsLocation && !UwpLocation.HasAccess())
     {
         JsonConfig.settings.useWindowsLocation = false;
         JsonConfig.settings.latitude           = null;
         JsonConfig.settings.longitude          = null;
     }
 }
        private void InputDialog_Load(object sender, EventArgs e)
        {
            if (JsonConfig.settings.location != null)
            {
                locationBox.Text = JsonConfig.settings.location;
            }

            radioButton2.Enabled  = UwpDesktop.IsUwpSupported();
            hasLocationPermission = UwpLocation.HasAccess();

            if (JsonConfig.settings.sunriseTime != null && JsonConfig.settings.sunsetTime != null)
            {
                sunriseTimePicker.Value = DateTime.Parse(JsonConfig.settings.sunriseTime,
                                                         CultureInfo.InvariantCulture);
                sunsetTimePicker.Value = DateTime.Parse(JsonConfig.settings.sunsetTime,
                                                        CultureInfo.InvariantCulture);
            }
            else
            {
                sunriseTimePicker.Value = DateTime.Today.AddHours(6);
                sunsetTimePicker.Value  = DateTime.Today.AddHours(18);
            }

            sunriseTimePicker.MinDate = sunriseTimePicker.Value.Date;
            sunriseTimePicker.MaxDate = sunsetTimePicker.Value.Date.AddHours(24);

            if (JsonConfig.settings.sunriseSunsetDuration > 0)
            {
                sunriseSunsetDurationBox.Value = JsonConfig.settings.sunriseSunsetDuration;
            }

            if (JsonConfig.settings.useWindowsLocation)
            {
                radioButton2.Checked = true;
            }
            else if (JsonConfig.settings.dontUseLocation)
            {
                radioButton3.Checked = true;
            }

            UpdateGuiState();
        }
        public static void Initialize()
        {
            if (!UwpDesktop.IsRunningAsUwp())
            {
                JsonConfig.settings.useWindowsLocation = false;
            }
            else if (JsonConfig.settings.useWindowsLocation && !UwpLocation.HasAccess())
            {
                JsonConfig.settings.useWindowsLocation = false;
                JsonConfig.settings.latitude           = null;
                JsonConfig.settings.longitude          = null;
            }

            if (JsonConfig.settings.latitude != null && JsonConfig.settings.longitude != null)
            {
                isReady = true;
            }
            else
            {
                ChangeLocation();
            }
        }
 private void checkPermissionButton_Click(object sender, EventArgs e)
 {
     hasLocationPermission = UwpLocation.HasAccess();
     UpdateLocationState();
 }
        private void InputDialog_Load(object sender, EventArgs e)
        {
            foreach (TimeZoneInfo tzi in TimeZoneInfo.GetSystemTimeZones())
            {
                timezoneBox.Items.Add(tzi.Id);
            }

            if (JsonConfig.settings.location != null)
            {
                locationBox.Text = JsonConfig.settings.location;
            }

            radioButton2.Enabled  = UwpDesktop.IsUwpSupported();
            hasLocationPermission = UwpLocation.HasAccess();

            sunriseTimePicker.MinDate = DateTime.Today;
            sunsetTimePicker.MaxDate  = DateTime.Today.AddDays(1);

            if (JsonConfig.settings.sunriseTime != null && JsonConfig.settings.sunsetTime != null)
            {
                sunriseTimePicker.Value = UpdateHandler.SafeParse(JsonConfig.settings.sunriseTime, TimeZoneInfo.FindSystemTimeZoneById(JsonConfig.settings.timezone)).Time;
                sunsetTimePicker.Value  = UpdateHandler.SafeParse(JsonConfig.settings.sunsetTime, TimeZoneInfo.FindSystemTimeZoneById(JsonConfig.settings.timezone)).Time;
            }
            else
            {
                sunriseTimePicker.Value = DateTime.Today.AddHours(6);
                sunsetTimePicker.Value  = DateTime.Today.AddHours(18);
            }

            if (JsonConfig.settings.sunriseSunsetDuration > 0)
            {
                sunriseSunsetDurationBox.Value = JsonConfig.settings.sunriseSunsetDuration;
            }

            if (JsonConfig.settings.useWindowsLocation)
            {
                radioButton2.Checked = true;
            }
            else if (JsonConfig.settings.dontUseLocation)
            {
                radioButton3.Checked = true;
            }

            if (JsonConfig.settings.timezone != null)
            {
                timezoneBox.Text = JsonConfig.settings.timezone;
            }
            else
            {
                timezoneBox.Text = TimeZoneInfo.Local.Id;
            }

            if (JsonConfig.settings.latitude != null)
            {
                latitudeTextBox.Text = JsonConfig.settings.latitude;
            }

            if (JsonConfig.settings.longitude != null)
            {
                longitudeTextBox.Text = JsonConfig.settings.longitude;
            }


            UpdateGuiState();
            isLoaded = true;
        }