public static void LoadConfig() { ConfigMigrator.UpdateToVersion4(); if (autoSaveTimer != null) { autoSaveTimer.Stop(); } if (!firstRun) { try { string jsonText = File.ReadAllText("settings.json"); settings = JsonConvert.DeserializeObject <AppConfig>(jsonText); } catch (JsonReaderException) { MessageDialog.ShowWarning("Your WinDynamicDesktop configuration file was corrupt and has been " + "reset to the default settings.", "Warning"); firstRun = true; } } unsavedChanges = false; autoSaveTimer = new Timer(); autoSaveTimer.AutoReset = false; autoSaveTimer.Interval = 1000; settings.PropertyChanged += OnSettingsPropertyChanged; autoSaveTimer.Elapsed += OnAutoSaveTimerElapsed; }
public static void Initialize() { ConfigMigrator.CompatibilizeLocale(); currentLocale = JsonConfig.settings.language; LoadLanguages(); if (currentLocale == null) { string systemLocale = CultureInfo.CurrentUICulture.Name; currentLocale = languageCodes.Contains(systemLocale) ? systemLocale : "en"; JsonConfig.settings.language = currentLocale; } else if (JsonConfig.settings.poeditorApiToken == null) { LoadLocaleFromFile(); } else { LoadLocaleFromWeb(); } if (JsonConfig.firstRun) { SelectLanguage(); } }
public static void MaybeShuffleWallpaper() { if (!JsonConfig.settings.enableShuffle) { return; } if (JsonConfig.settings.lastShuffleDate != null) { DateTime lastShuffleDate = ConfigMigrator.SafeParse(JsonConfig.settings.lastShuffleDate); if (lastShuffleDate.Date == DateTime.Now.Date) { return; } } ShuffleWallpaper(); }
private static SolarData GetUserProvidedSolarData(DateTime date) { SolarData data = new SolarData(); data.sunriseTime = date.Date + ConfigMigrator.SafeParse(JsonConfig.settings.sunriseTime).TimeOfDay; data.sunsetTime = date.Date + ConfigMigrator.SafeParse(JsonConfig.settings.sunsetTime).TimeOfDay; 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 void Initialize() { Directory.CreateDirectory("themes"); ConfigMigrator.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 = ConfigMigrator.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 = ConfigMigrator.SafeParse(JsonConfig.settings.sunriseTime); sunsetTimePicker.Value = ConfigMigrator.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; }