private void btnOk_Click(object sender, EventArgs e)
        {
            if (m_rdoWholeBook.Checked)
            {
                Properties.Settings.Default.GenerateTemplateRange = (int)RangeOption.WholeBook;
                Properties.Settings.Default.GenerateTemplateBook  = m_cboBooks.SelectedItem.ToString();
            }
            else if (m_rdoSingleSection.Checked)
            {
                Properties.Settings.Default.GenerateTemplateRange   = (int)RangeOption.SingleSection;
                Properties.Settings.Default.GenerateTemplateSection = m_cboSection.SelectedItem.ToString();
            }
            else
            {
                Properties.Settings.Default.GenerateTemplateRange      = (int)RangeOption.RangeOfSections;
                Properties.Settings.Default.GenerateTemplateSection    = m_cboStartSection.SelectedItem.ToString();
                Properties.Settings.Default.GenerateTemplateEndSection = m_cboEndSection.SelectedItem.ToString();
            }

            Properties.Settings.Default.GenerateTemplatePassageBeforeOverview = m_chkPassageBeforeOverview.Checked;
            if (m_chkIncludeVerseNumbers.Enabled)
            {
                Properties.Settings.Default.GenerateIncludeVerseNumbers = m_chkIncludeVerseNumbers.Checked;
                m_scrExtractor.IncludeVerseNumbers = m_chkIncludeVerseNumbers.Checked;
            }
            Properties.Settings.Default.GenerateTemplateUseLWC = m_chkIncludeLWCQuestions.Enabled ?
                                                                 m_lwcLocaleIds[m_cboUseLWC.SelectedIndex] : null;
            Properties.Settings.Default.GenerateTemplateEnglishQuestions = m_chkIncludeLWCQuestions.Checked;
            Properties.Settings.Default.GenerateTemplateEnglishAnswers   = m_chkIncludeLWCAnswers.Checked;
            Properties.Settings.Default.GenerateTemplateIncludeComments  = m_chkIncludeLWCComments.Checked;
            m_dataLoc = DataLocalizerNeeded?.Invoke(this, Properties.Settings.Default.GenerateTemplateUseLWC);
            Properties.Settings.Default.GenerateTemplateUseOriginalQuestionIfNotTranslated = m_rdoUseOriginal.Checked;
            Properties.Settings.Default.GenerateTemplateSkipQuestionIfNotTranslated        = m_rdoSkipUntranslated.Checked;

            Properties.Settings.Default.GenerateOutputPassageForOutOfOrderQuestions = m_rdoOutputPassageForOutOfOrderQuestions.Checked;

            Properties.Settings.Default.GenerateTemplateFolder = m_lblFolder.Text;

            Properties.Settings.Default.GenerateTemplateBlankLines = (int)m_numBlankLines.Value;
            Properties.Settings.Default.GenerateTemplateQuestionGroupHeadingsColor = m_lblQuestionGroupHeadingsColor.ForeColor;
            Properties.Settings.Default.GenerateTemplateEnglishQuestionTextColor   = m_lblLWCQuestionColor.ForeColor;
            Properties.Settings.Default.GenerateTemplateEnglishAnswerTextColor     = m_lblLWCAnswerTextColor.ForeColor;
            Properties.Settings.Default.GenerateTemplateCommentTextColor           = m_lblCommentTextColor.ForeColor;
            Properties.Settings.Default.GenerateTemplateNumberQuestions            = m_chkNumberQuestions.Checked;

            Properties.Settings.Default.GenerateTemplateUseExternalCss = m_rdoUseExternalCss.Checked;
            if (Properties.Settings.Default.GenerateTemplateUseExternalCss)
            {
                Properties.Settings.Default.GenerateTemplateCssFile         = m_txtCssFile.Text;
                Properties.Settings.Default.GenerateTemplateAbsoluteCssPath = m_chkAbsoluteCssPath.Checked;
            }
        }
Example #2
0
        /// ------------------------------------------------------------------------------------
        /// <summary>
        /// Initializes a new instance of the <see cref="T:EditQuestion"/> class.
        /// </summary>
        /// ------------------------------------------------------------------------------------
        public EditQuestionDlg(TranslatablePhrase question, List <string> existingQuestionsForRef,
                               LocalizationsFileAccessor dataLocalizer)
        {
            m_question = question;
            m_existingQuestionsForRef = existingQuestionsForRef;
            InitializeComponent();
            if (dataLocalizer == null)
            {
                m_txtOriginal.Text = question.OriginalPhrase;
                m_txtModified.Text = question.PhraseInUse;
            }
            else
            {
                m_txtOriginal.Tag  = question.OriginalPhrase;
                m_txtOriginal.Text = dataLocalizer.GetLocalizedDataString(new UIQuestionDataString(question.PhraseKey, true, false), out _);
                m_txtModified.Text = question.OriginalPhrase == question.PhraseInUse ? m_txtOriginal.Text : question.PhraseInUse;
            }
            var alternativeForms = question.QuestionInfo?.Alternatives;

            if (alternativeForms != null && alternativeForms.Any(f => !f.Hide))
            {
                var resources      = new System.ComponentModel.ComponentResourceManager(typeof(EditQuestionDlg));
                var firstOneToShow = -1;
                for (var i = 0; i < alternativeForms.Length; i++)
                {
                    if (alternativeForms[i].Hide)
                    {
                        continue;
                    }
                    if (firstOneToShow == -1)
                    {
                        firstOneToShow = i;
                        continue;
                    }
                    var newBtn = new RadioButton();
                    m_pnlAlternatives.Controls.Add(newBtn);
                    resources.ApplyResources(newBtn, "m_rdoAlternative");
                    m_pnlAlternatives.SetFlowBreak(newBtn, true);
                    newBtn.Padding  = m_rdoAlternative.Padding;
                    newBtn.AutoSize = true;
                    InitializeRadioButton(newBtn, i, dataLocalizer);
                    newBtn.CheckedChanged += m_rdoAlternative_CheckedChanged;
                }
                Debug.Assert(firstOneToShow >= 0);
                InitializeRadioButton(m_rdoAlternative, firstOneToShow, dataLocalizer);
            }
            else
            {
                m_pnlAlternatives.Hide();
            }
        }
        private void InitializeRadioButton(RadioButton btn, int index, LocalizationsFileAccessor dataLocalizer)
        {
            var alternateForm = m_question.QuestionInfo.AlternateForms[index];

            if (dataLocalizer == null)
            {
                btn.Text = alternateForm;
            }
            else
            {
                btn.Text = dataLocalizer.GetLocalizedDataString(new UIAlternateDataString(m_question.QuestionInfo, index, false), out string locale);
                btn.Tag  = alternateForm;
            }
            btn.Checked = m_txtModified.Text == btn.Text;
        }
        /// ------------------------------------------------------------------------------------
        /// <summary>
        /// Initializes a new instance of the <see cref="T:EditQuestion"/> class.
        /// </summary>
        /// ------------------------------------------------------------------------------------
        public EditQuestionDlg(TranslatablePhrase question, List <String> existingQuestionsForRef, LocalizationsFileAccessor dataLocalizer)
        {
            m_question = question;
            m_existingQuestionsForRef = existingQuestionsForRef;
            InitializeComponent();
            if (dataLocalizer == null)
            {
                m_txtOriginal.Text = question.OriginalPhrase;
                m_txtModified.Text = question.PhraseInUse;
            }
            else
            {
                m_txtOriginal.Tag  = question.OriginalPhrase;
                m_txtOriginal.Text = dataLocalizer.GetLocalizedDataString(new UIQuestionDataString(question.PhraseKey, true, false), out string locale);
                m_txtModified.Text = question.OriginalPhrase == question.PhraseInUse ? m_txtOriginal.Text : question.PhraseInUse;
            }
            Question q = question.QuestionInfo;

            if (q?.AlternateForms != null)
            {
                System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(EditQuestionDlg));

                for (int i = 1; i < q.AlternateForms.Length; i++)
                {
                    RadioButton newBtn = new RadioButton();
                    m_pnlAlternatives.Controls.Add(newBtn);
                    resources.ApplyResources(newBtn, "m_rdoAlternative");
                    m_pnlAlternatives.SetFlowBreak(newBtn, true);
                    InitializeRadioButton(newBtn, i, dataLocalizer);
                    newBtn.CheckedChanged += m_rdoAlternative_CheckedChanged;
                }
                InitializeRadioButton(m_rdoAlternative, 0, dataLocalizer);
                return;
            }
            m_pnlAlternatives.Hide();
        }