Exemple #1
0
        internal void OnFilterChanged(LibraryFilterControl library_filter_control, List <PDFDocument> pdf_documents, Span descriptive_span, string filter_terms, Dictionary <string, double> search_scores, PDFDocument pdf_document_to_focus_on)
        {
            this.library_filter_control = library_filter_control;

            if (null != descriptive_span)
            {
                int match_count = 0;
                foreach (var pdf_document in pdf_documents)
                {
                    if (!pdf_document.Deleted)
                    {
                        ++match_count;
                    }
                }

                ObjLibraryFilterDescriptiveTextBorder.Visibility = Visibility.Visible;

                Paragraph paragraph = new Paragraph();
                paragraph.Inlines.Add(LibraryFilterHelpers.GetClearImageInline("Clear all filters.", hyperlink_clear_all_OnClick));
                paragraph.Inlines.Add(" ");
                paragraph.Inlines.Add("Library currently filtered by: ");
                paragraph.Inlines.Add(descriptive_span);
                paragraph.Inlines.Add("(" + match_count + " matching documents)");


                // Add to our viewer
                ObjLibraryFilterDescriptiveText.Blocks.Clear();
                ObjLibraryFilterDescriptiveText.Blocks.Add(paragraph);
            }
            else
            {
                ObjLibraryFilterDescriptiveTextBorder.Visibility = Visibility.Collapsed;
                ObjLibraryFilterDescriptiveText.Blocks.Clear();
            }
        }
Exemple #2
0
        private void ExecuteSearchTag()
        {
            string terms = SearchTag.Text;

            if (String.IsNullOrEmpty(terms))
            {
                search_tag_fingerprints = null;
            }
            else
            {
                search_tag_fingerprints = new HashSet <string>();

                string[] search_tags = terms.Split(new char[] { ' ' }, StringSplitOptions.RemoveEmptyEntries);

                foreach (var pdf_document in library.PDFDocuments)
                {
                    bool has_all_tags = true;
                    foreach (string search_tag in search_tags)
                    {
                        if (!pdf_document.Tags.Contains(search_tag))
                        {
                            has_all_tags = false;
                            break;
                        }
                    }

                    if (has_all_tags)
                    {
                        search_tag_fingerprints.Add(pdf_document.Fingerprint);
                    }
                }

                // Create the feedback
                search_tag_fingerprints_span = new Span();
                Bold bold = new Bold();
                bold.Inlines.Add("TagSearch");
                search_tag_fingerprints_span.Inlines.Add(bold);
                search_tag_fingerprints_span.Inlines.Add(": ");
                search_tag_fingerprints_span.Inlines.Add("'");
                search_tag_fingerprints_span.Inlines.Add(terms);
                search_tag_fingerprints_span.Inlines.Add("'");
                search_tag_fingerprints_span.Inlines.Add(LibraryFilterHelpers.GetClearImageInline("Clear this filter.", hyperlink_search_tag_fingerprints_span_OnClick));
            }
        }
        internal void ExecuteSearchQuick(string query)
        {
            ASSERT.Test(query != null);
            SearchQuick.Text = query;

            if (!String.IsNullOrEmpty(query))
            {
                FeatureTrackingManager.Instance.UseFeature(Features.Library_KeywordFilter);

                List <IndexResult> index_results = LibrarySearcher.FindAllFingerprintsMatchingQuery(library_filter_control.web_library_detail, query);

                library_filter_control.search_quick_query        = query;
                library_filter_control.search_quick_scores       = new Dictionary <string, double>();
                library_filter_control.search_quick_fingerprints = new HashSet <string>();
                foreach (var index_result in index_results)
                {
                    library_filter_control.search_quick_fingerprints.Add(index_result.fingerprint);
                    library_filter_control.search_quick_scores[index_result.fingerprint] = index_result.score;
                }
            }
            else
            {
                library_filter_control.search_quick_query        = null;
                library_filter_control.search_quick_fingerprints = null;
                library_filter_control.search_quick_scores       = null;
            }

            // Create the feedback
            library_filter_control.search_quick_fingerprints_span = new Span();
            Bold bold = new Bold();

            bold.Inlines.Add("Search");
            library_filter_control.search_quick_fingerprints_span.Inlines.Add(bold);
            library_filter_control.search_quick_fingerprints_span.Inlines.Add(" (click search score for details)");
            library_filter_control.search_quick_fingerprints_span.Inlines.Add(": ");
            library_filter_control.search_quick_fingerprints_span.Inlines.Add("'");
            library_filter_control.search_quick_fingerprints_span.Inlines.Add(query);
            library_filter_control.search_quick_fingerprints_span.Inlines.Add("'");
            library_filter_control.search_quick_fingerprints_span.Inlines.Add(LibraryFilterHelpers.GetClearImageInline("Clear this filter.", hyperlink_search_quick_fingerprints_span_OnClick));
        }