コード例 #1
0
        public void CopyQuoteMarksIfAppropriate_TargetWsHasLessQuoteLevelsThanOriginal_CommonLevelsDifferent_TargetDoesNotReceiveQuotes()
        {
            var originalBundle   = GetGlyssenBundleToBeUsedForProject();
            var bogusQuoteSystem = new QuoteSystem(new BulkObservableList <QuotationMark>
            {
                new QuotationMark("^", "^^", "^^^", 1, QuotationMarkingSystemType.Normal),
                new QuotationMark("$", "^^$", "$$$", 1, QuotationMarkingSystemType.Normal)
            });

            originalBundle.WritingSystemDefinition.QuotationMarks.Clear();
            originalBundle.WritingSystemDefinition.QuotationMarks.AddRange(bogusQuoteSystem.AllLevels);
            var project = new Project(originalBundle);

            project.Status.QuoteSystemStatus = QuoteSystemStatus.UserSet;

            WritingSystemDefinition targetWs = new WritingSystemDefinition();
            var bogusQuoteSystem2            = new QuoteSystem(
                new QuotationMark("$", "$$", "$$$", 1, QuotationMarkingSystemType.Normal)
                );

            targetWs.QuotationMarks.AddRange(bogusQuoteSystem2.AllLevels);

            GlyssenDblTextMetadata targetMetadata = new GlyssenDblTextMetadata();

            project.CopyQuoteMarksIfAppropriate(targetWs, targetMetadata);

            Assert.AreEqual(bogusQuoteSystem2.AllLevels, targetWs.QuotationMarks);
            Assert.AreEqual(QuoteSystemStatus.UserSet, project.Status.QuoteSystemStatus);
        }
コード例 #2
0
        private bool ValidateQuoteSystem(QuoteSystem quoteSystem, out string validationMessage)
        {
            if (!m_chkPairedQuotations.Checked && !m_chkDialogueQuotations.Checked)
            {
                validationMessage = LocalizationManager.GetString("DialogBoxes.QuotationMarksDlg.SelectMarksOrDashes", "You must select quotation marks, quotation dashes, or both.");
                return(false);
            }

            if (m_chkPairedQuotations.Checked)
            {
                var level1 = quoteSystem.FirstLevel;
                if (level1 == null || string.IsNullOrEmpty(level1.Open) || string.IsNullOrEmpty(level1.Close))
                {
                    validationMessage = LocalizationManager.GetString("DialogBoxes.QuotationMarksDlg.Level1OpenCloseRequired", "Level 1 Open and Close are required.");
                    return(false);
                }
            }

            if (m_chkDialogueQuotations.Checked)
            {
                if (string.IsNullOrEmpty(quoteSystem.QuotationDashMarker))
                {
                    validationMessage = LocalizationManager.GetString("DialogBoxes.QuotationMarksDlg.QuotationDashRequired", "Quotation dash is required.");
                    return(false);
                }
            }

            validationMessage = null;
            return(true);
        }
コード例 #3
0
        private static QuoteSystem GetSampleQuoteSystem()
        {
            QuoteSystem sampleQuoteSystem = new QuoteSystem();

            sampleQuoteSystem.AllLevels.Add(new QuotationMark("“", "”", "“", 1, QuotationMarkingSystemType.Normal));
            sampleQuoteSystem.AllLevels.Add(new QuotationMark("‘", "’", "“‘", 2, QuotationMarkingSystemType.Normal));
            sampleQuoteSystem.AllLevels.Add(new QuotationMark("“", "”", "“‘“", 3, QuotationMarkingSystemType.Normal));
            return(sampleQuoteSystem);
        }
コード例 #4
0
        public static List <IScrBook> GetMockedBooks(QuoteSystem desiredQuoteSystem, bool highlyConsistentData = false, bool includeSecondLevelQuotes = false)
        {
            var mockedBooks = new List <IScrBook>();

            for (int i = 1; i <= BCVRef.LastBook; i++)
            {
                mockedBooks.Add(new MockedBookForQuoteSystem(i, desiredQuoteSystem, highlyConsistentData, includeSecondLevelQuotes));
            }
            return(mockedBooks);
        }
コード例 #5
0
        private bool ValidateQuoteSystem(QuoteSystem quoteSystem, out string validationMessage)
        {
            var level1 = quoteSystem.FirstLevel;

            if (level1 == null || string.IsNullOrEmpty(level1.Open) || string.IsNullOrEmpty(level1.Close))
            {
                validationMessage = LocalizationManager.GetString("DialogBoxes.QuotationMarksDlg.Level1OpenCloseRequired", "Level 1 Open and Close are required.");
                return(false);
            }
            validationMessage = null;
            return(true);
        }
コード例 #6
0
ファイル: TestProject.cs プロジェクト: witheej/Glyssen
        private static QuoteSystem GetTestQuoteSystem(bool includeDialogueDash)
        {
            QuoteSystem testQuoteSystem = new QuoteSystem();

            testQuoteSystem.AllLevels.Add(new QuotationMark("“", "”", "“", 1, QuotationMarkingSystemType.Normal));
            testQuoteSystem.AllLevels.Add(new QuotationMark("‘", "’", "“‘", 2, QuotationMarkingSystemType.Normal));
            testQuoteSystem.AllLevels.Add(new QuotationMark("“", "”", "“‘“", 3, QuotationMarkingSystemType.Normal));
            if (includeDialogueDash)
            {
                testQuoteSystem.AllLevels.Add(new QuotationMark("—", null, null, 1, QuotationMarkingSystemType.Narrative));
            }
            return(testQuoteSystem);
        }
コード例 #7
0
ファイル: Server.cs プロジェクト: BackupTheBerlios/ccapi
    public ConsorsGate(Logger l)
    {
        _log=l;
        _log.info("ConsorsGate::ConsorsGate", "constructing.");
        _quit=false;
        _thread=new Thread(new ThreadStart(Run));
        _thread.Start();

        //initializing the core elements

        _sm = new SubscriptionManager(_log, this);
        _qs = new QuoteSystem(_log, this);
    }
コード例 #8
0
        public MockedBookForQuoteSystem(int bookNum, QuoteSystem desiredQuoteSystem, bool highlyConsistentData, bool includeSecondLevelQuotes)
        {
#if USE_RANDOM_SEED
            Debug.WriteLine("Seed base = " + s_seedBase);
            var seed = s_seedBase + bookNum;
#else
            var seed = 300 + bookNum;
#endif
            m_random                   = new Random(seed);
            m_desiredQuoteSystem       = desiredQuoteSystem;
            m_highlyConsistentData     = highlyConsistentData;
            m_includeSecondLevelQuotes = includeSecondLevelQuotes && m_desiredQuoteSystem.NormalLevels.Count > 1;
            BookId = BCVRef.NumberToBookCode(bookNum);
        }
コード例 #9
0
        public void CreateFromBundle_BundleContainsQuoteInformation_LoadsQuoteSystemFromBundle()
        {
            var bundle           = GetGlyssenBundleToBeUsedForProject();
            var bogusQuoteSystem = new QuoteSystem(new QuotationMark("^", "^^", "^^^", 1, QuotationMarkingSystemType.Normal));

            bundle.WritingSystemDefinition.QuotationMarks.Clear();
            bundle.WritingSystemDefinition.QuotationMarks.AddRange(bogusQuoteSystem.AllLevels);
            var project = new Project(bundle);

            WaitForProjectInitializationToFinish(project, ProjectState.FullyInitialized);

            Assert.AreEqual(bogusQuoteSystem, project.QuoteSystem);
            Assert.AreEqual(QuoteSystemStatus.Obtained, project.Status.QuoteSystemStatus);
        }
コード例 #10
0
        private void RunTest(QuoteSystem quoteSystem, bool highlyConsistentData, bool includeSecondLevelQuotes, bool expectedCertain)
        {
            Console.WriteLine("Attempting to guess " + quoteSystem.Name + "(" + quoteSystem + ")");
            var sw = new Stopwatch();

            sw.Start();
            bool certain;
            var  guessedQuoteSystem = QuoteSystemGuesser.Guess(ControlCharacterVerseData.Singleton, MockedBookForQuoteSystem.GetMockedBooks(quoteSystem, highlyConsistentData, includeSecondLevelQuotes), ScrVers.English, out certain);

            sw.Stop();
            Console.WriteLine("   took " + sw.ElapsedMilliseconds + " milliseconds.");
            if (expectedCertain)
            {
                Assert.AreEqual(quoteSystem, guessedQuoteSystem, "Expected " + quoteSystem.FirstLevel + ", but was " + guessedQuoteSystem.FirstLevel);
                Assert.IsTrue(certain, "Quote system was not guessed with sufficient certainty: " + quoteSystem.Name + "(" + quoteSystem + ")");
            }
            else
            {
                Assert.AreEqual(quoteSystem, guessedQuoteSystem, "Expected " + quoteSystem + ", but was " + guessedQuoteSystem);
            }
        }
コード例 #11
0
        public void CopyQuoteMarksIfAppropriate_TargetWsHasQuotes_TargetQuotesObtained_TargetDoesNotReceiveQuotes()
        {
            var originalBundle = GetGlyssenBundleToBeUsedForProject();
            var project        = new Project(originalBundle);

            project.Status.QuoteSystemStatus = QuoteSystemStatus.Obtained;

            WritingSystemDefinition targetWs = new WritingSystemDefinition();
            var bogusQuoteSystem             = new QuoteSystem(
                new QuotationMark("^", "^^", "^^^", 1, QuotationMarkingSystemType.Normal)
                );

            targetWs.QuotationMarks.AddRange(bogusQuoteSystem.AllLevels);
            GlyssenDblTextMetadata targetMetadata = new GlyssenDblTextMetadata();

            targetMetadata.ProjectStatus.QuoteSystemStatus = QuoteSystemStatus.Obtained;
            project.CopyQuoteMarksIfAppropriate(targetWs, targetMetadata);

            Assert.AreEqual(bogusQuoteSystem.AllLevels, targetWs.QuotationMarks);
            Assert.AreEqual(QuoteSystemStatus.Obtained, project.Status.QuoteSystemStatus);
        }
コード例 #12
0
        private void m_btnOk_Click(object sender, EventArgs e)
        {
            DisableForm(true);

            QuoteSystem currentQuoteSystem = CurrentQuoteSystem;

            if (currentQuoteSystem == m_project.QuoteSystem)
            {
                if ((m_project.QuoteSystemStatus & QuoteSystemStatus.NotParseReady) > 0)
                {
                    m_project.QuoteSystemStatus = QuoteSystemStatus.Reviewed;
                    // Kicks off the quote parse (which we haven't run yet)
                    m_project.QuoteSystem = currentQuoteSystem;
                }
                else
                {
                    HandleAnalysisCompleted(this, null);
                }
                return;
            }

            string validationMessage;

            if (!ValidateQuoteSystem(currentQuoteSystem, out validationMessage))
            {
                MessageBox.Show(validationMessage, LocalizationManager.GetString("DialogBoxes.QuotationMarksDlg.QuoteSystemInvalid", "Quote System Invalid"));
                DisableForm(false);
                return;
            }
            if (m_project.Books.SelectMany(b => b.Blocks).Any(bl => bl.UserConfirmed) && m_project.IsQuoteSystemReadyForParse && m_project.QuoteSystem != null)
            {
                string part1 = LocalizationManager.GetString("DialogBoxes.QuotationMarksDlg.QuoteSystemChangePart1", "Changing the quote system will require the text to be broken up into speaking parts again.  An attempt will be made to preserve the work you have already completed, but some character assignments might be lost.  A backup of your project will be created before this occurs.");
                string part2 = LocalizationManager.GetString("DialogBoxes.QuotationMarksDlg.QuoteSystemChangePart2", "Are you sure you want to change the quote system?");
                string msg   = part1 + Environment.NewLine + Environment.NewLine + part2;
                string title = LocalizationManager.GetString("DialogBoxes.QuotationMarksDlg.ConfirmQuoteSystemChange", "Confirm Quote System Change");
                if (MessageBox.Show(msg, title, MessageBoxButtons.YesNo) != DialogResult.Yes)
                {
                    SetupQuoteMarksComboBoxes(m_project.QuoteSystem);
                    DisableForm(false);
                    return;
                }
            }

            if (m_project.QuoteSystemStatus == QuoteSystemStatus.Obtained)
            {
                Analytics.Track("ObtainedQuoteSystemChanged", new Dictionary <string, string>
                {
                    { "old", m_project.QuoteSystem != null ? m_project.QuoteSystem.ToString() : String.Empty },
                    { "new", currentQuoteSystem.ToString() }
                });
            }
            else if (m_project.QuoteSystemStatus != QuoteSystemStatus.UserSet)
            {
                Analytics.Track("GuessedQuoteSystemChanged", new Dictionary <string, string>
                {
                    { "old", m_project.QuoteSystem != null ? m_project.QuoteSystem.ToString() : String.Empty },
                    { "new", currentQuoteSystem.ToString() }
                });
            }

            // Want to set the status even if already UserSet because that triggers setting QuoteSystemDate
            m_project.QuoteSystemStatus = QuoteSystemStatus.UserSet;

            m_project.QuoteSystem = currentQuoteSystem;
        }
コード例 #13
0
        private void SetupQuoteMarksComboBoxes(QuoteSystem currentSystem)
        {
            foreach (var control in m_pnlLevels.Controls)
            {
                var cb = control as ComboBox;
                if (cb != null)
                {
                    cb.Items.Clear();
                    cb.Items.AddRange(QuoteUtils.AllDefaultSymbols());
                }
            }

            foreach (var level in m_project.QuoteSystem.NormalLevels)
            {
                if (level.Level == 1)
                {
                    m_chkPairedQuotations.Checked = !string.IsNullOrEmpty(level.Open);
                }

                if (m_chkPairedQuotations.Checked)
                {
                    switch (level.Level)
                    {
                    case 1:
                        m_cbLevel1Begin.Text    = BlankBecomesNone(level.Open);
                        m_cbLevel1Continue.Text = BlankBecomesNone(level.Continue);
                        m_cbLevel1End.Text      = BlankBecomesNone(level.Close);
                        break;

                    case 2:
                        m_cbLevel2Begin.Text    = BlankBecomesNone(level.Open);
                        m_cbLevel2Continue.Text = BlankBecomesNone(level.Continue);
                        m_cbLevel2End.Text      = BlankBecomesNone(level.Close);
                        break;

                    case 3:
                        m_cbLevel3Begin.Text    = BlankBecomesNone(level.Open);
                        m_cbLevel3Continue.Text = BlankBecomesNone(level.Continue);
                        m_cbLevel3End.Text      = BlankBecomesNone(level.Close);
                        break;
                    }
                }

                EnablePairedQuotes(m_chkPairedQuotations.Checked);
            }

            var quotationDashMarker = currentSystem.QuotationDashMarker;

            m_chkDialogueQuotations.Checked = !String.IsNullOrEmpty(quotationDashMarker);
            m_cboQuotationDash.Items.Clear();
            m_cboQuotationDash.Items.Add(string.Format(LocalizationManager.GetString("DialogBoxes.QuotationMarksDlg.QuotationDash", "Quotation dash ({0})"), "U+2015"));
            m_cboQuotationDash.Items.Add(string.Format(LocalizationManager.GetString("DialogBoxes.QuotationMarksDlg.EmDash", "Em-dash ({0})"), "U+2014"));
            m_cboQuotationDash.Items.Add(string.Format(LocalizationManager.GetString("DialogBoxes.QuotationMarksDlg.Colon", "Colon ( {0} )"), ":"));
            switch (quotationDashMarker)
            {
            case "\u2015": m_cboQuotationDash.SelectedIndex = 0; break;

            case "\u2014": m_cboQuotationDash.SelectedIndex = 1; break;

            case ":": m_cboQuotationDash.SelectedIndex = 2; break;

            default: m_cboQuotationDash.Text = quotationDashMarker; break;
            }

            m_cboEndQuotationDash.Items.Clear();
            m_cboEndQuotationDash.Items.Add(LocalizationManager.GetString("DialogBoxes.QuotationMarksDlg.EndQuotationDashWithParagraphOnly", "End of paragraph (only)"));
            if (QuotationDashSelected)
            {
                m_cboEndQuotationDash.Items.Add(SameAsStartDashText);
                m_endMarkerComboIncludesSameAsStartDashTextOption = true;
            }
#if HANDLE_SENTENCE_ENDING_PUNCTUATION_FOR_DIALOGUE_QUOTES
            m_cboEndQuotationDash.Items.Add(LocalizationManager.GetString("DialogBoxes.QuotationMarksDlg.SentenceEndingPunctuation", "Sentence-ending punctuation"));
#endif //HANDLE_SENTENCE_ENDING_PUNCTUATION_FOR_DIALOGUE_QUOTES

            var quotationDashEndMarker = currentSystem.QuotationDashEndMarker;
            if (string.IsNullOrEmpty(quotationDashEndMarker))
            {
                m_cboEndQuotationDash.SelectedIndex = 0;
            }
            else if (m_endMarkerComboIncludesSameAsStartDashTextOption && quotationDashEndMarker == quotationDashMarker)
            {
                m_cboEndQuotationDash.SelectedIndex = 1;
            }
#if HANDLE_SENTENCE_ENDING_PUNCTUATION_FOR_DIALOGUE_QUOTES
            else if (quotationDashEndMarker == QuoteUtils.kSentenceEndingPunctuation)
            {
                m_cboEndQuotationDash.SelectedIndex = m_endMarkerComboIncludesSameAsStartDashTextOption ? 2 : 1;
            }
#endif //HANDLE_SENTENCE_ENDING_PUNCTUATION_FOR_DIALOGUE_QUOTES
            else
            {
                m_cboEndQuotationDash.Text = quotationDashEndMarker;
            }
        }
コード例 #14
0
        private void m_btnOk_Click(object sender, EventArgs e)
        {
            DisableForm(true);

            QuoteSystem currentQuoteSystem = CurrentQuoteSystem;

            if (currentQuoteSystem == m_project.QuoteSystem)
            {
                if ((m_project.QuoteSystemStatus & QuoteSystemStatus.NotParseReady) > 0)
                {
                    m_project.QuoteSystemStatus = QuoteSystemStatus.Reviewed;
                    // Kicks off the quote parse (which we haven't run yet)
                    m_project.QuoteSystem = currentQuoteSystem;
                }
                else
                {
                    HandleAnalysisCompleted(this, null);
                }
                return;
            }

            string validationMessage;

            if (!ValidateQuoteSystem(currentQuoteSystem, out validationMessage))
            {
                MessageBox.Show(validationMessage,
                                LocalizationManager.GetString("DialogBoxes.QuotationMarksDlg.QuoteSystemInvalid",
                                                              "Quote System Invalid"));
                DisableForm(false);
                return;
            }
            List <string> msgParts = new List <string>();

            if (m_project.IsLiveParatextProject)
            {
                msgParts.Add(String.Format(LocalizationManager.GetString("DialogBoxes.QuotationMarksDlg.QuoteSystemChange.GetDataFromParatext",
                                                                         "This requires {0} to retrieve the current text from {1} project {2}, so any textual changes made there " +
                                                                         "will now be incorporated into this {0} project.",
                                                                         "Param 0: \"Glyssen\" (product name); " +
                                                                         "Param 1: \"Paratext\" (product name); " +
                                                                         "Param 2: Paratext project short name (unique project identifier)"),
                                           GlyssenInfo.kProduct,
                                           ParatextScrTextWrapper.kParatextProgramName,
                                           m_project.ParatextProjectName));
            }
            if (m_project.Books.SelectMany(b => b.Blocks).Any(bl => bl.UserConfirmed) && m_project.IsQuoteSystemReadyForParse && m_project.QuoteSystem != null)
            {
                msgParts.Add(LocalizationManager.GetString("DialogBoxes.QuotationMarksDlg.QuoteSystemChange.WorkWillBePreserved",
                                                           "An attempt will be made to preserve the work you have already completed, but some character assignments might be lost."));
            }
            if (msgParts.Any())
            {
                msgParts.Insert(0, LocalizationManager.GetString("DialogBoxes.QuotationMarksDlg.QuoteSystemChange.Part1",
                                                                 "Changing the quote system will require the text to be broken up into speaking parts again."));
                msgParts.Add(LocalizationManager.GetString("DialogBoxes.QuotationMarksDlg.QuoteSystemChange.BackupWillBeCreated",
                                                           "A backup of your project will be created before this occurs."));
                string title = LocalizationManager.GetString("DialogBoxes.QuotationMarksDlg.ConfirmQuoteSystemChange",
                                                             "Confirm Quote System Change");
                if (MessageBox.Show(String.Join(Environment.NewLine, msgParts), title, MessageBoxButtons.OKCancel) == DialogResult.Cancel)
                {
                    SetupQuoteMarksComboBoxes(m_project.QuoteSystem);
                    DisableForm(false);
                    return;
                }
            }

            if (m_project.QuoteSystemStatus == QuoteSystemStatus.Obtained)
            {
                Analytics.Track("ObtainedQuoteSystemChanged", new Dictionary <string, string>
                {
                    { "old", m_project.QuoteSystem != null ? m_project.QuoteSystem.ToString() : String.Empty },
                    { "new", currentQuoteSystem.ToString() }
                });
            }
            else if (m_project.QuoteSystemStatus != QuoteSystemStatus.UserSet)
            {
                Analytics.Track("GuessedQuoteSystemChanged", new Dictionary <string, string>
                {
                    { "old", m_project.QuoteSystem != null ? m_project.QuoteSystem.ToString() : String.Empty },
                    { "new", currentQuoteSystem.ToString() }
                });
            }

            // Want to set the status even if already UserSet because that triggers setting QuoteSystemDate
            m_project.QuoteSystemStatus = QuoteSystemStatus.UserSet;

            m_project.QuoteSystem = currentQuoteSystem;
            // After setting this, the user could get a subsequent dialog box giving them the chance to review the settings,
            // but since we've already saved their changes, they can't really "Cancel" those saved changes anymore.
            m_btnCancel.DialogResult = DialogResult.OK;
        }
コード例 #15
0
        private void SetupQuoteMarksComboBoxes(QuoteSystem currentSystem)
        {
//			m_comboQuoteMarks.Items.AddRange(QuoteSystem.AllUniqueFirstLevelSystems.ToArray());
//			m_comboQuoteMarks.SelectedItem = currentSystem.GetCorrespondingFirstLevelQuoteSystem();

            foreach (var control in m_pnlLevels.Controls)
            {
                var cb = control as ComboBox;
                if (cb != null)
                {
                    cb.Items.Clear();
                    cb.Items.AddRange(QuoteUtils.AllDefaultSymbols());
                }
            }

            foreach (var level in m_project.QuoteSystem.NormalLevels)
            {
                switch (level.Level)
                {
                case 1:
                    m_cbLevel1Begin.Text    = BlankBecomesNone(level.Open);
                    m_cbLevel1Continue.Text = BlankBecomesNone(level.Continue);
                    m_cbLevel1End.Text      = BlankBecomesNone(level.Close);
                    break;

                case 2:
                    m_cbLevel2Begin.Text    = BlankBecomesNone(level.Open);
                    m_cbLevel2Continue.Text = BlankBecomesNone(level.Continue);
                    m_cbLevel2End.Text      = BlankBecomesNone(level.Close);
                    break;

                case 3:
                    m_cbLevel3Begin.Text    = BlankBecomesNone(level.Open);
                    m_cbLevel3Continue.Text = BlankBecomesNone(level.Continue);
                    m_cbLevel3End.Text      = BlankBecomesNone(level.Close);
                    break;
                }
            }

            var quotationDashMarker = currentSystem.QuotationDashMarker;

            m_chkDialogueQuotations.Checked = !String.IsNullOrEmpty(quotationDashMarker);
            m_cboQuotationDash.Items.Clear();
            m_cboQuotationDash.Items.Add(string.Format(LocalizationManager.GetString("DialogBoxes.QuotationMarksDlg.QuotationDash", "Quotation dash ({0})"), "U+2015"));
            m_cboQuotationDash.Items.Add(string.Format(LocalizationManager.GetString("DialogBoxes.QuotationMarksDlg.EmDash", "Em-dash ({0})"), "U+2014"));
            switch (quotationDashMarker)
            {
            case "\u2015": m_cboQuotationDash.SelectedIndex = 0; break;

            case "\u2014": m_cboQuotationDash.SelectedIndex = 1; break;

            default: m_cboQuotationDash.Text = quotationDashMarker; break;
            }

            m_cboEndQuotationDash.Items.Clear();
            m_cboEndQuotationDash.Items.Add(LocalizationManager.GetString("DialogBoxes.QuotationMarksDlg.EndQuotationDashWithParagraphOnly", "End of paragraph (only)"));
            m_cboEndQuotationDash.Items.Add(SameAsStartDashText);

            var quotationDashEndMarker = currentSystem.QuotationDashEndMarker;

            if (string.IsNullOrEmpty(quotationDashEndMarker))
            {
                m_cboEndQuotationDash.SelectedIndex = 0;
            }
            else if (quotationDashEndMarker == quotationDashMarker)
            {
                m_cboEndQuotationDash.SelectedIndex = 1;
            }
            else
            {
                m_cboEndQuotationDash.Text = quotationDashEndMarker;
            }
        }