private void m_btnQuoteMarkSettings_Click(object sender, EventArgs e)
        {
            var reparseOkay = false;

            if (m_model.Project.IsLiveParatextProject)
            {
                reparseOkay = m_model.Project.QuoteSystemStatus != QuoteSystemStatus.Obtained;
            }
            else if (!m_model.Project.IsSampleProject)
            {
                if (m_model.Project.IsOkayToChangeQuoteSystem)
                {
                    reparseOkay = true;
                }
                else
                {
                    string msg = string.Format(LocalizationManager.GetString("Project.UnableToLocateTextBundleMsg",
                                                                             "The original text release bundle for the project is no longer in its original location ({0}). " +
                                                                             "The Quote Mark Settings cannot be modified without access to it."), m_model.Project.OriginalBundlePath) +
                                 Environment.NewLine + Environment.NewLine +
                                 LocalizationManager.GetString("Project.LocateBundleYourself", "Would you like to locate the text release bundle yourself?");
                    string title = LocalizationManager.GetString("Project.UnableToLocateTextBundle", "Unable to Locate Text Bundle", "Message caption");
                    if (DialogResult.Yes == MessageBox.Show(msg, title, MessageBoxButtons.YesNo))
                    {
                        reparseOkay = SelectBundleForProjectDlg.GiveUserChanceToFindOriginalBundle(m_model.Project);
                    }
                }
            }

            BlockNavigatorViewModel viewModel = null;

            try
            {
                if (m_model.Project.IncludedBooks.Any())
                {
                    viewModel = new BlockNavigatorViewModel(m_model.Project, BlocksToDisplay.AllExpectedQuotes, m_model);
                }
                using (var dlg = new QuotationMarksDlg(m_model.Project, viewModel, !reparseOkay, this))
                {
                    MainForm.LogDialogDisplay(dlg);
                    if (dlg.ShowDialog(this) == DialogResult.OK)
                    {
                        UpdateQuotePageDisplay();
                    }
                }
            }
            finally
            {
                viewModel?.Dispose();
            }
        }
 private void m_btnUpdate_Click(object sender, EventArgs e)
 {
     if (m_model.IsLiveParatextProject)
     {
         UpdatedParatextProject = m_model.GetUpdatedParatextData();
         if (UpdatedParatextProject != null)
         {
             Logger.WriteEvent($"Updating project {m_lblRecordingProjectName} from Paratext data {m_model.ParatextProjectName}");
             HandleOkButtonClick(sender, e);
         }
         else
         {
             Analytics.Track("CancelledUpdateProjectFromParatextData", new Dictionary <string, string>
             {
                 { "projectLanguage", m_model.IsoCode },
                 { "paratextPojectName", m_model.ParatextProjectName },
                 { "projectID", m_model.PublicationId },
                 { "recordingProjectName", m_model.RecordingProjectName }
             });
         }
     }
     else
     {
         if (SelectBundleForProjectDlg.TryGetBundleName(m_model.RecordingProjectName, m_model.BundlePath, out string selectedBundlePath))
         {
             var bundle = new GlyssenBundle(selectedBundlePath);
             if (ConfirmProjectUpdateFromBundle(bundle))
             {
                 Logger.WriteEvent($"Updating project {m_lblRecordingProjectName} from bundle {selectedBundlePath}");
                 m_model.BundlePath = selectedBundlePath;
                 UpdatedBundle      = bundle;
                 HandleOkButtonClick(sender, e);
             }
             else
             {
                 Analytics.Track("CancelledUpdateProjectFromBundleData", new Dictionary <string, string>
                 {
                     { "bundleLanguage", bundle.LanguageIso },
                     { "projectLanguage", m_model.IsoCode },
                     { "bundleID", bundle.Id },
                     { "projectID", m_model.PublicationId },
                     { "recordingProjectName", m_model.RecordingProjectName },
                     { "bundlePathChanged", (m_model.BundlePath != selectedBundlePath).ToString() }
                 });
                 bundle.Dispose();
             }
         }
     }
 }