Esempio n. 1
0
 /// <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;
     }
 }
Esempio n. 2
0
    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();
        }
    }