protected internal bool OnAddTexts(object args) { CheckDisposed(); // get saved scripture choices var interestingTextsList = GetInterestingTextList(); var interestingTexts = interestingTextsList.InterestingTexts.ToArray(); IFilterTextsDialog <IStText> dlg = null; try { if (FwUtils.IsOkToDisplayScriptureIfPresent) { dlg = new FilterTextsDialogTE(Cache, interestingTexts, m_mediator.HelpTopicProvider, this); } else { dlg = new FilterTextsDialog(Cache, interestingTexts, m_mediator.HelpTopicProvider); } if (dlg.ShowDialog(((IApp)m_mediator.PropertyTable.GetValue("App")).ActiveMainWindow) == DialogResult.OK) { interestingTextsList.SetInterestingTexts(dlg.GetListOfIncludedTexts()); UpdateFilterStatusBarPanel(); } } finally { if (dlg != null) { ((IDisposable)dlg).Dispose(); } } return(true); }
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(); } } }