private void LaunchFilterTextsDialog(object sender, EventArgs args) { IFilterTextsDialog<IStText> dlg = null; try { var interestingTextsList = InterestingTextsDecorator.GetInterestingTextList(m_mediator, m_cache.ServiceLocator); var textsToChooseFrom = new List<IStText>(interestingTextsList.InterestingTexts); if (!FwUtils.IsOkToDisplayScriptureIfPresent) { // Mustn't show any Scripture, so remove scripture from the list textsToChooseFrom = textsToChooseFrom.Where(text => !ScriptureServices.ScriptureIsResponsibleFor(text)).ToList(); } var interestingTexts = textsToChooseFrom.ToArray(); if (FwUtils.IsOkToDisplayScriptureIfPresent) dlg = new FilterTextsDialogTE(m_cache, interestingTexts, m_mediator.HelpTopicProvider, m_bookImporter); else dlg = new FilterTextsDialog(m_cache, interestingTexts, m_mediator.HelpTopicProvider); // LT-12181: Was 'PruneToSelectedTexts(text) and most others were deleted. // We want 'PruneToInterestingTextsAndSelect(interestingTexts, selectedText)' dlg.PruneToInterestingTextsAndSelect(interestingTexts, (IStText)m_objRoot); dlg.TreeViewLabel = ITextStrings.ksSelectSectionsExported; if (dlg.ShowDialog(this) == DialogResult.OK) m_objs.AddRange(dlg.GetListOfIncludedTexts()); } finally { if (dlg != null) ((IDisposable)dlg).Dispose(); } }