private void RefreshSearchList() { if (txtFulltextSearch.Text == "") { return; } pnlSearchSelection.BringToFront(); lbSearchResults.SuspendLayout(); lbSearchResults.Items.Clear(); lock (lSearchResults) { #if !DEMO List <string> searchTerms = SearchHelper.BreakSearchTerms(txtFulltextSearch.Text); // Caller is responsible to make sure that search terms have not changed if (rRelevent.Checked && searchTerms.Count > 1) { // Sort the verses based on score SongSearchHelper.ScoreResults(lSearchResults, searchTerms); SearchRelevancyComparer comp = new SearchRelevancyComparer(); lSearchResults.Sort(comp); } else { lSearchResults.Sort(new SongNumberComparer()); } // Add to list foreach (SongSearchResult ssr in lSearchResults) { lbSearchResults.Items.Add(ssr); } #endif } lbSearchResults.ResumeLayout(); lblTitleSearchResults.Text = Loc.Get("Search results:") + " (" + lSearchResults.Count + ")"; }
private void RefreshSearchList() { if (txtBibSearch.Text == "") { return; } pnlSearchSelection.BringToFront(); lbSearchVerses.SuspendLayout(); lbSearchVerses.Items.Clear(); lock (lResults) { #if !DEMO // Get search terms List <string> searchTerms = SearchHelper.BreakSearchTerms(txtBibSearch.Text); // Caller is responsible to make sure that search terms have not changed // Sort the results BibleVerseComparer bvc = new BibleVerseComparer(); if (rRelevent.Checked && searchTerms.Count > 1) { // Sort the verses based on score BibleSearchHelper.ScoreResults(lResults, searchTerms); SearchRelevancyComparer comp = new SearchRelevancyComparer(); lResults.Sort(comp); } else { lResults.Sort(bvc); } // Double filter the results List <BibleSearchResult> lDoubleFilter = new List <BibleSearchResult>(); foreach (BibleSearchResult r in lResults) { foreach (BookData bd in lbBibleBook.Items) // Check book { if (bd.mappingName == r.bibVerse.RefBook) { lDoubleFilter.Add(r); break; } } } // Add to the list foreach (BibleSearchResult r in lDoubleFilter) { lbSearchVerses.Items.Add(r); } // Turn off the tumbler pnlInitTumbler.Visible = false; // Set visible items based on search result count pbNoItems.Visible = llNoResults.Visible = lDoubleFilter.Count == 0; lblSort.Visible = rNoSort.Visible = rRelevent.Visible = lbSearchVerses.Visible = !pbNoItems.Visible; lblTitleSearchResults.Text = Loc.Get("Search results:") + " (" + lDoubleFilter.Count + ")"; #endif } lbSearchVerses.ResumeLayout(); }