private void FadeInTimer_Tick(object sender, EventArgs e)
        {
            if (fadeIn)
            {
                FadeAlpha -= 1; // amount of opacity change for each timer tick
            }
            else
            {
                FadeAlpha += 1;
            }

            if (CurrentWrapperForm is object)
            {
                CurrentWrapperForm.Opacity = FadeAlpha / (double)100;
                PanelMain.Refresh();
            }

            if (FadeAlpha <= 0)
            {
                FadeInTimer.Enabled = false; // finished fade-in
                if (CurrentWrapperForm is object)
                {
                    if (PanelMain.Controls.Count > 0)
                    {
                        Control ctrl = null;
                        for (int i = PanelMain.Controls.Count - 1; i >= 0; i -= 1)
                        {
                            ctrl = PanelMain.Controls[i];
                            try
                            {
                                PanelMain.Controls.Remove(ctrl);
                            }
                            catch (Exception ex)
                            {
                                string statusMessage = "Error unloading form";
                            }
                        }
                    }
                }

                loadNextForm();
            }
            else if (FadeAlpha >= 100)
            {
                FadeInTimer.Enabled = false; // finished fade-in
            }
        }
Пример #2
0
    public void SetView(ViewMode view, bool first)
    {
        var viewPanels = new Dictionary <ViewMode, ViewConnector>
        {
            {
                ViewMode.ChapterVerses,
                new ViewConnector
                {
                    MenuItem = ActionViewVerses,
                    Panel    = PanelViewVerses,
                    Focused  = PanelViewVerses
                }
            },
            {
                ViewMode.VerseFiltered,
                new ViewConnector
                {
                    MenuItem = ActionViewVerseFiltered,
                    Panel    = PanelViewVerseFiltered,
                    Focused  = PanelViewVerseFiltered
                }
            },
            {
                ViewMode.ChapterTranslation,
                new ViewConnector
                {
                    MenuItem = ActionViewTranslations,
                    Panel    = PanelViewTranslations,
                    Focused  = TextBoxTranslations
                }
            },
            {
                ViewMode.ChapterOriginal,
                new ViewConnector
                {
                    MenuItem = ActionViewRawText,
                    Panel    = PanelViewOriginalText,
                    Focused  = EditChapterOriginal
                }
            },
            {
                ViewMode.BookELS50,
                new ViewConnector
                {
                    MenuItem = ActionViewELS50,
                    Panel    = PanelViewELS50,
                    Focused  = EditChapterELS50
                }
            },
            {
                ViewMode.Search,
                new ViewConnector
                {
                    MenuItem = ActionViewSearch,
                    Panel    = PanelViewSearch,
                    Focused  = SelectSearchType
                }
            }
        };

        if (Settings.CurrentView == view && !first)
        {
            if (Settings.CurrentView == ViewMode.Search)
            {
                RotateSearchTab();
            }
            return;
        }
        checkFirst();
        viewPanels[Settings.CurrentView].MenuItem.Checked = false;
        viewPanels[Settings.CurrentView].Panel.Parent     = null;
        viewPanels[view].MenuItem.Checked = true;
        viewPanels[view].Panel.Parent     = PanelMainCenter;
        if (view != ViewMode.Search)
        {
            viewPanels[view].Focused?.Focus();
        }
        Settings.CurrentView = view;
        updateControls();
        switch (view)
        {
        case ViewMode.ChapterVerses:
        case ViewMode.ChapterOriginal:
        case ViewMode.ChapterTranslation:
        case ViewMode.BookELS50:
            SetTanakItemFocus();
            break;

        case ViewMode.Search:
            SelectSearchType_Selected(null, null);
            break;

        case ViewMode.VerseFiltered:
            VerseControl.ResetMetricsRequired = true;
            WordControl.ResetMetricsRequired  = true;
            RenderVerseFiltered();
            break;
        }
        //
        void checkFirst()
        {
            if (first)
            {
                UpdateFilters(null, null);
                SelectSearchType.SelectedIndex = Settings.CurrentSearchTypeTab;
                setRadio(SelectSearchTypeTranslation, Settings.SearchTranslationRadioButtonIndex);
                setRadio(SelectSearchTypeVerses, Settings.SearchVerseRadioButtonIndex);
                void setRadio(TabPage page, int index)
                {
                    var radio = page.Controls.OfType <RadioButton>().FirstOrDefault(c => c.TabIndex == index);

                    if (radio is not null)
                    {
                        radio.Checked = true;
                    }
                }
            }
            else
            {
                ActionSave.PerformClick();
                if (!Settings.RenderAllChapterVersesKeep && Settings.RenderAllChapterVerses)
                {
                    if (view == ViewMode.VerseFiltered || view == ViewMode.Search)
                    {
                        Settings.RenderAllChapterVerses = false;
                    }
                }
            }
        }

        //
        void updateControls()
        {
            LabelTitle.Text = AppTranslations.ViewPanelTitle.GetLang(view).ToUpper();
            LabelTitle.Refresh();
            //
            PanelNavigation.Visible = view != ViewMode.VerseFiltered && view != ViewMode.Search;
            PanelMain.Refresh();
            //
            ActionCopyToClipboard.Enabled = view == ViewMode.ChapterTranslation || view == ViewMode.ChapterOriginal || view == ViewMode.BookELS50;
            SelectRenderAllVerses.Enabled = view == ViewMode.ChapterVerses;
            ActionExportBook.Enabled      = PanelNavigation.Visible;
            ActionExportChapter.Enabled   = PanelNavigation.Visible;
            //
            SelectBook.Enabled          = PanelNavigation.Visible;
            SelectBookNavigator.Enabled = SelectBook.Enabled;
            LabelSelectBook.Enabled     = SelectBook.Enabled;
            EditBookTranslation.Enabled = SelectBook.Enabled;
            ActionEditBookMemo.Enabled  = SelectBook.Enabled;
            //
            SelectChapter.Enabled          = PanelNavigation.Visible;
            SelectChapterNavigator.Enabled = SelectChapter.Enabled;
            LabelSelectChapter.Enabled     = SelectChapter.Enabled;
            EditChapterTitle.Enabled       = SelectChapter.Enabled;
            EditChapterMemo.Enabled        = SelectChapter.Enabled;
            //
            SelectVerse.Enabled          = PanelNavigation.Visible && view != ViewMode.BookELS50;
            SelectVerseNavigator.Enabled = SelectVerse.Enabled;
            LabelSelectVerse.Enabled     = SelectVerse.Enabled;
            ActionSearchVerse.Enabled    = SelectVerse.Enabled;
            //
            UpdateHistoryButtons();
        }
    }