コード例 #1
0
        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);
        }
コード例 #2
0
        /// <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);
        }