private void InvokeSettingChanged(Util.SettingName settingName, bool?value) { SettingChangedEvent?.Invoke(settingName, value); }
private void SettingChanged(Util.SettingName settingName, bool?value) { switch (settingName) { case Util.SettingName.GurmukhiVisible: versesObs.ToList().ForEach(a => a.GurmukhiVisible = value.Value); //ReloadGrid(); break; case Util.SettingName.EngTranslationVisible: versesObs.ToList().ForEach(a => a.TranslationVisible = value.Value); //ReloadGrid(); break; case Util.SettingName.PunTranslationVisible: versesObs.ToList().ForEach(a => a.PunjabiTranslationVisible = value.Value); //ReloadGrid(); break; case Util.SettingName.TransliterationVisible: versesObs.ToList().ForEach(a => a.TransliterationVisible = value.Value); //ReloadGrid(); break; case Util.SettingName.GurmukhiFontSize: if (value.Value) { versesObs.ToList().ForEach(a => a.GurmukhiFontSize += 2); } else { if (versesObs[0].GurmukhiFontSize >= 8) { versesObs.ToList().ForEach(a => a.GurmukhiFontSize -= 2); } } //ReloadGrid(); break; case Util.SettingName.EngTranslationFontSize: if (value.Value) { versesObs.ToList().ForEach(a => a.EnglishFontSize += 2); } else { if (versesObs[0].EnglishFontSize >= 8) { versesObs.ToList().ForEach(a => a.EnglishFontSize -= 2); } } //ReloadGrid(); break; case Util.SettingName.PunTranslationFontSize: if (value.Value) { versesObs.ToList().ForEach(a => a.PunjabiFontSize += 2); } else { if (versesObs[0].PunjabiFontSize >= 8) { versesObs.ToList().ForEach(a => a.PunjabiFontSize -= 2); } } //ReloadGrid(); break; case Util.SettingName.TransliterationFontSize: if (value.Value) { versesObs.ToList().ForEach(a => a.TransliterationFontSize += 2); } else { if (versesObs[0].TransliterationFontSize >= 8) { versesObs.ToList().ForEach(a => a.TransliterationFontSize -= 2); } } //ReloadGrid(); break; case Util.SettingName.FullScreen: //FullScreen(value.Value); break; case Util.SettingName.NormalFont: string fontName = value.Value ? Util.PunjabiFontKey : Util.HandFontKey; versesObs.ToList().ForEach(a => a.GurmukhiFontName = fontName); //ReloadGrid(); break; case Util.SettingName.HandFont: string fontName2 = value.Value ? Util.HandFontKey : Util.PunjabiFontKey; versesObs.ToList().ForEach(a => a.GurmukhiFontName = fontName2); //ReloadGrid(); break; case Util.SettingName.Ladivaar: VishraamLadivaar(); //ReloadGrid(); break; case Util.SettingName.Vishraam: VishraamLadivaar(); //ReloadGrid(); break; case Util.SettingName.Theme: Theme theme = new Theme(); versesObs?.ToList().ForEach(a => a.PageBgTheme = theme); BindingContext = theme; Util.SetStatusBarColor(Color.FromHex(theme.HeaderColor)); MasterDetailPage curPage = (MasterDetailPage)Application.Current.MainPage; if (curPage != null) { ((NavigationPage)curPage.Detail).BarBackgroundColor = Color.FromHex(theme.HeaderColor); EditToolbar.BackgroundColor = Color.FromHex(theme.HeaderColor); } if (SelectedVerseId != null && SelectedVerseId > 0) { SelectedVerse = versesObs.FirstOrDefault(a => a.ID == SelectedVerseId); SelectedVerse.ListBgColor = SelectedVerse.PageBgTheme.DefaultItemBg; } VishraamLadivaar(); break; } }