/// <summary> /// Load data from database fro the first time. /// </summary> private void LoadData() { Globals.ChronoLoadData.Start(); try { try { CurrentReference = null; PopulateData(); } catch (Exception ex) { Globals.ChronoLoadData.Stop(); DisplayManager.ShowError(SysTranslations.ApplicationMustExit[Language.FR] + Globals.NL2 + SysTranslations.ContactSupport[Language.FR]); ex.Manage(); Environment.Exit(-1); } try { BookmarkItems.Load(UpdateBookmarks); HistoryItems.Load(UpdateHistory); if (Settings.OpenLastViewAtStartup) { SetView(Settings.CurrentView, true); } else { SetView(ViewMode.ChapterVerses, true); Settings.CurrentSearchTypeTab = 0; } } catch (Exception ex) { Globals.ChronoLoadData.Stop(); ex.Manage(); } } finally { Globals.ChronoLoadData.Stop(); Settings.BenchmarkLoadData = Globals.ChronoLoadData.ElapsedMilliseconds; } }
private void UpdateBookmarks() { try { if (Settings.AutoSortBookmarks) { BookmarkItems.Sort(); } while (ActionBookmarks.DropDownItems.Count > BookmarkMenuIndex) { ActionBookmarks.DropDownItems.RemoveAt(BookmarkMenuIndex); } var bookmarkMaster = new ReferenceItem(Settings.BookmarkMasterBook, Settings.BookmarkMasterChapter, Settings.BookmarkMasterVerse); void bookmarkClicked(object sender, MouseEventArgs e) { if (e.Button != MouseButtons.Right) { return; } var menuitem = (ToolStripMenuItem)sender; if (!DisplayManager.QueryYesNo(SysTranslations.AskToDeleteBookmark.GetLang((ReferenceItem)menuitem.Tag))) { return; } if (menuitem == ActionGoToBookmarkMain) { Settings.BookmarkMasterBook = 1; Settings.BookmarkMasterChapter = 1; Settings.BookmarkMasterVerse = 1; UpdateBookmarks(); } else { BookmarkItems.Remove((ReferenceItem)menuitem.Tag); UpdateBookmarks(); } } ActionGoToBookmarkMain.Text = bookmarkMaster.ToStringBasedOnPrefs(); ActionGoToBookmarkMain.Tag = bookmarkMaster; ActionGoToBookmarkMain.MouseUp += bookmarkClicked; if (bookmarkMaster.CompareTo(CurrentReference) == 0) { ActionGoToBookmarkMain.Font = new Font(ActionGoToBookmarkMain.Font, FontStyle.Bold); } else { ActionGoToBookmarkMain.Font = new Font(ActionGoToBookmarkMain.Font, FontStyle.Regular); } if (BookmarkItems.Count > 0) { foreach (var reference in BookmarkItems) { var item = (ToolStripMenuItem)ActionBookmarks.DropDownItems.Add(reference.ToStringBasedOnPrefs()); item.Tag = reference; item.Click += GoToBookmark; item.MouseUp += bookmarkClicked; item.ImageScaling = ToolStripItemImageScaling.None; item.Image = ActionGoToBookmarks.Image; if (reference.CompareTo(CurrentReference) == 0) { item.Font = new Font(item.Font, FontStyle.Bold); } } } ActionClearBookmarks.Enabled = BookmarkItems.Count > 0 && ActionBookmarks.DropDownItems.Count > BookmarkMenuIndex; ActionSortBookmarks.Enabled = BookmarkItems.Count > 0 && !Settings.AutoSortBookmarks; SeparatorBookmarks.Visible = BookmarkItems.Count > 0; } catch (Exception ex) { ex.Manage(); } }