808 def Find(self, direction, search_params): |
808 def Find(self, direction, search_params): |
809 if self.SearchParams != search_params: |
809 if self.SearchParams != search_params: |
810 self.ClearHighlights(SEARCH_RESULT_HIGHLIGHT) |
810 self.ClearHighlights(SEARCH_RESULT_HIGHLIGHT) |
811 |
811 |
812 self.SearchParams = search_params |
812 self.SearchParams = search_params |
813 criteria = { |
|
814 "raw_pattern": search_params["find_pattern"], |
|
815 "pattern": re.compile(search_params["find_pattern"]), |
|
816 "case_sensitive": search_params["case_sensitive"], |
|
817 "regular_expression": search_params["regular_expression"], |
|
818 "filter": "all"} |
|
819 |
|
820 self.SearchResults = [ |
813 self.SearchResults = [ |
821 (infos[1:], start, end, SEARCH_RESULT_HIGHLIGHT) |
814 (infos[1:], start, end, SEARCH_RESULT_HIGHLIGHT) |
822 for infos, start, end, text in |
815 for infos, start, end, text in |
823 self.Search(criteria)] |
816 self.Search(search_params)] |
824 self.CurrentFindHighlight = None |
817 self.CurrentFindHighlight = None |
825 |
818 |
826 if len(self.SearchResults) > 0: |
819 if len(self.SearchResults) > 0: |
827 if self.CurrentFindHighlight is not None: |
820 if self.CurrentFindHighlight is not None: |
828 old_idx = self.SearchResults.index(self.CurrentFindHighlight) |
821 old_idx = self.SearchResults.index(self.CurrentFindHighlight) |