public static void MaybeShuffleWallpaper() { if (!JsonConfig.settings.enableShuffle) { return; } if (JsonConfig.settings.lastShuffleDate != null) { DateTime lastShuffleDate = UpdateHandler.SafeParse(JsonConfig.settings.lastShuffleDate); if (lastShuffleDate.Date == DateTime.Now.Date) { return; } } ShuffleWallpaper(); }
private static SolarData GetUserProvidedSolarData() { SolarData data = new SolarData(); data.sunriseTime = UpdateHandler.SafeParse(JsonConfig.settings.sunriseTime); data.sunsetTime = UpdateHandler.SafeParse(JsonConfig.settings.sunsetTime); int halfSunriseSunsetDuration = JsonConfig.settings.sunriseSunsetDuration * 30; data.solarTimes = new DateTime[4] { data.sunriseTime.AddSeconds(-halfSunriseSunsetDuration), data.sunriseTime.AddSeconds(halfSunriseSunsetDuration), data.sunsetTime.AddSeconds(-halfSunriseSunsetDuration), data.sunsetTime.AddSeconds(halfSunriseSunsetDuration) }; return(data); }
public static SolarData GetSolarData(DateTimeTZ date) { double latitude = double.Parse(JsonConfig.settings.latitude, CultureInfo.InvariantCulture); double longitude = double.Parse(JsonConfig.settings.longitude, CultureInfo.InvariantCulture); var sunPhases = GetSunPhases(date, latitude, longitude); SolarData data = new SolarData(); if (JsonConfig.settings.dontUseLocation) { data.sunriseTime = UpdateHandler.SafeParse(JsonConfig.settings.sunriseTime, TimeZoneInfo.FindSystemTimeZoneById(JsonConfig.settings.timezone)); data.sunsetTime = UpdateHandler.SafeParse(JsonConfig.settings.sunsetTime, TimeZoneInfo.FindSystemTimeZoneById(JsonConfig.settings.timezone)); } try { data.sunriseTime = GetSolarTime(sunPhases, SunPhaseName.Sunrise).ConvertTime(JsonConfig.settings.timezone); data.sunsetTime = GetSolarTime(sunPhases, SunPhaseName.Sunset).ConvertTime(JsonConfig.settings.timezone); data.solarTimes = new DateTimeTZ[4] { GetSolarTime(sunPhases, SunPhaseName.Dawn), GetSolarTime(sunPhases, SunPhaseName.GoldenHourEnd), GetSolarTime(sunPhases, SunPhaseName.GoldenHour), GetSolarTime(sunPhases, SunPhaseName.Dusk) }; } catch (InvalidOperationException) // Handle polar day/night { DateTimeTZ solarNoon = GetSolarTime(sunPhases, SunPhaseName.SolarNoon); double sunAltitude = SunCalcNet.SunCalc.GetSunPosition(solarNoon.ToUniversalTime(), latitude, longitude).Altitude; if (sunAltitude > 0) { data.polarPeriod = PolarPeriod.PolarDay; } else { data.polarPeriod = PolarPeriod.PolarNight; } } return(data); }
public static void Initialize() { Directory.CreateDirectory("themes"); UpdateHandler.CompatibilizeThemes(); defaultThemes = DefaultThemes.GetDefaultThemes(); List <string> themeIds = new List <string>(); foreach (string filePath in Directory.EnumerateFiles("themes", "*.json", SearchOption.AllDirectories)) { string themeId = Path.GetFileName(Path.GetDirectoryName(filePath)); if (!themeId.StartsWith(".")) { themeIds.Add(themeId); } } LoadInstalledThemes(themeIds); }
public static void TryCheckAuto(bool forceIfEnabled = false) { if (UwpDesktop.IsRunningAsUwp() || JsonConfig.settings.disableAutoUpdate) { return; } if (JsonConfig.settings.lastUpdateCheck != null && !forceIfEnabled) { DateTime lastUpdateCheck = UpdateHandler.SafeParse(JsonConfig.settings.lastUpdateCheck); TimeSpan timeDiff = new TimeSpan(DateTime.Now.Ticks - lastUpdateCheck.Ticks); if (timeDiff.Days < 7) { return; } } Task.Run(() => CheckAuto()); }
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(); 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); sunsetTimePicker.Value = UpdateHandler.SafeParse(JsonConfig.settings.sunsetTime); } 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; } UpdateGuiState(); isLoaded = true; }
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; }