protected internal bool OnAddTexts(object args) { CheckDisposed(); // get saved scripture choices var interestingTextsList = GetInterestingTextList(); var interestingTexts = interestingTextsList.InterestingTexts.ToArray(); using (var dlg = new FilterTextsDialog(m_propertyTable.GetValue <IApp>("App"), Cache, interestingTexts, m_propertyTable.GetValue <IHelpTopicProvider>("HelpTopicProvider"))) { if (dlg.ShowDialog(m_propertyTable.GetValue <Form>("window")) == DialogResult.OK) { interestingTextsList.SetInterestingTexts(dlg.GetListOfIncludedTexts()); UpdateFilterStatusBarPanel(); } } return(true); }
/// <summary> /// Allow the user to export more than one to a single file (LT-11483) /// </summary> /// <returns>true iff export can proceed to choosing an output file</returns> protected override bool PrepareForExport() { m_objs.Clear(); var interestingTextsList = InterestingTextsDecorator.GetInterestingTextList(m_mediator, m_propertyTable, m_cache.ServiceLocator); var textsToShow = interestingTextsList.InterestingTexts; var isOkToDisplayScripture = m_cache.ServiceLocator.GetInstance <IScrBookRepository>().AllInstances().Any(); if (!isOkToDisplayScripture) { // Mustn't show any Scripture, so remove scripture from the list textsToShow = textsToShow.Where(text => !ScriptureServices.ScriptureIsResponsibleFor(text)); } var selectedTexts = new[] { (IStText)m_objRoot }; using (var dlg = new FilterTextsDialog(m_propertyTable.GetValue <IApp>("App"), m_cache, selectedTexts, m_propertyTable.GetValue <IHelpTopicProvider>("HelpTopicProvider"))) { dlg.TextsToShow = textsToShow.ToList(); dlg.TreeViewLabel = ITextStrings.ksSelectSectionsExported; if (dlg.ShowDialog(this) == DialogResult.OK) { m_objs.AddRange(dlg.GetListOfIncludedTexts()); } } return(m_objs.Count > 0); }