diff --git a/src/calibre/gui2/viewer/search.py b/src/calibre/gui2/viewer/search.py index 7a2e2acdb3..4e9baf1b6d 100644 --- a/src/calibre/gui2/viewer/search.py +++ b/src/calibre/gui2/viewer/search.py @@ -691,7 +691,7 @@ class SearchPanel(QWidget): # {{{ try: for i, result in enumerate(search_in_name(name, search_query)): before, text, after, offset = result - q = (before or '')[-5:] + text + (after or '')[:5] + q = (before or '')[-15:] + text + (after or '')[:15] result_num += 1 self.results_found.emit(SearchResult(search_query, before, text, after, q, name, idx, counter[q], offset, result_num)) counter[q] += 1 diff --git a/src/pyj/read_book/find.pyj b/src/pyj/read_book/find.pyj index 1fc4e2877e..688100632d 100644 --- a/src/pyj/read_book/find.pyj +++ b/src/pyj/read_book/find.pyj @@ -153,11 +153,11 @@ def select_search_result(sr): q = '' before_len = after_len = 0 if sr.before: - q = sr.before[-5:] + q = sr.before[-15:] before_len = q.length q += sr.text if sr.after: - after = sr.after[:5] + after = sr.after[:15] after_len = after.length q += after match = find_specific_occurrence(q, int(sr.index), before_len, after_len, cache.text_map, sr.from_offset) diff --git a/src/pyj/read_book/search_worker.pyj b/src/pyj/read_book/search_worker.pyj index 53534ba7e5..ff80896641 100644 --- a/src/pyj/read_book/search_worker.pyj +++ b/src/pyj/read_book/search_worker.pyj @@ -168,7 +168,7 @@ def search_in_text_of(name): start, end = m.index, r.lastIndex before = haystack[Math.max(0, start - ctx_size):start] after = haystack[end:end+ctx_size] - q = (before or '')[-5:] + text + (after or '')[:5] + q = (before or '')[-15:] + text + (after or '')[:15] match_counts[q] = match_counts[q] or 0 wc.result_num += 1 result = {