private void ComboAppThemeSelectionChanged(object sender, SelectionChangedEventArgs e) { if (!CanDoThings) { return; } try { if (comboAppTheme.SelectedIndex == -1) { return; } SettingsHelper.Settings.AppTheme = (AppTheme)comboAppTheme.SelectedIndex; MinistaThemeCore themeCore = null; var theme = new MinistaTheme(); if (comboAppTheme.SelectedIndex == 1) { themeCore = SettingsHelper.GetMeTheme("Light"); theme = new MinistaWhiteTheme(); } else if (comboAppTheme.SelectedIndex == 2) { if (SettingsHelper.Settings.CurrentTheme != null) { themeCore = SettingsHelper.Settings.CurrentTheme; } theme = SettingsHelper.Settings.CurrentTheme?.Theme ?? new MinistaDarkTheme(); } else { themeCore = SettingsHelper.GetMeTheme("Dark"); theme = new MinistaDarkTheme(); } if (themeCore == null) { themeCore = SettingsHelper.GetUnkownTheme(); } themeCore.Theme = theme; SettingsHelper.Settings.CurrentTheme = themeCore; ThemeHelper.InitTheme(themeCore); } catch { } }
public static void LoadSettings() { try { try { Helper.Passcode = Views.Security.Passcode.Build(); } catch { } try { var obj = ApplicationSettingsHelper.LoadSettingsValue(nameof(Settings)); if (obj is string str && !string.IsNullOrEmpty(str)) { var settings = JsonConvert.DeserializeObject <MinistaSettings>(str); if (settings != null) { Settings = settings; } } } catch { Settings = new MinistaSettings(); } try { var obj = ApplicationSettingsHelper.LoadSettingsValue(nameof(Helper.InstaApiSelectedUsername)); if (obj is string str) { Helper.InstaApiSelectedUsername = str; } } catch { } try { if (Settings.ElementSound) { ElementSoundPlayer.State = ElementSoundPlayerState.On; } } catch { } try { MinistaThemeCore themeCore = null; MinistaTheme theme = null; switch (Settings.AppTheme) { case AppTheme.Custom: if (Settings.CurrentTheme != null) { themeCore = Settings.CurrentTheme; } theme = Settings.CurrentTheme?.Theme ?? new MinistaDarkTheme(); break; case AppTheme.Light: themeCore = GetMeTheme("Light"); theme = new MinistaWhiteTheme(); break; case AppTheme.Dark: default: themeCore = GetMeTheme("Dark"); theme = new MinistaDarkTheme(); break; } if (themeCore == null) { themeCore = GetUnkownTheme(); } themeCore.Theme = theme; Settings.CurrentTheme = themeCore; ThemeHelper.InitTheme(themeCore); } catch { } } catch { } }