mirror of
https://github.com/kovidgoyal/calibre.git
synced 2025-06-23 15:30:45 -04:00
Viewer search panel: Show more result context in a tooltip when hovering over a search result. Fixes #1899834 [[Enhancement - Viewer] Show the entire paragraph as you hover over a search result in the Search panel](https://bugs.launchpad.net/calibre/+bug/1899834)
This commit is contained in:
parent
384e3a02be
commit
20c64aeae2
@ -3,14 +3,14 @@
|
||||
# License: GPL v3 Copyright: 2020, Kovid Goyal <kovid at kovidgoyal.net>
|
||||
|
||||
import json
|
||||
from collections import Counter, OrderedDict
|
||||
from threading import Thread
|
||||
|
||||
import regex
|
||||
from collections import Counter, OrderedDict
|
||||
from PyQt5.Qt import (
|
||||
QCheckBox, QComboBox, QFont, QHBoxLayout, QIcon, QLabel, Qt, QToolButton,
|
||||
QTreeWidget, QTreeWidgetItem, QVBoxLayout, QWidget, pyqtSignal
|
||||
)
|
||||
from threading import Thread
|
||||
from html import escape
|
||||
|
||||
from calibre.ebooks.conversion.search_replace import REGEX_FLAGS
|
||||
from calibre.gui2 import warning_dialog
|
||||
@ -282,7 +282,7 @@ def toc_nodes_for_search_result(sr):
|
||||
return tuple(tmap.toc_nodes_for_offset(sr.offset))
|
||||
|
||||
|
||||
def search_in_name(name, search_query, ctx_size=50):
|
||||
def search_in_name(name, search_query, ctx_size=75):
|
||||
raw = searchable_text_for_name(name)[0]
|
||||
for match in search_query.regex.finditer(raw):
|
||||
start, end = match.span()
|
||||
@ -479,6 +479,9 @@ class Results(QTreeWidget): # {{{
|
||||
item.setFlags(Qt.ItemIsSelectable | Qt.ItemIsEnabled | Qt.ItemNeverHasChildren)
|
||||
item.setData(0, Qt.UserRole, result)
|
||||
item.setData(0, Qt.UserRole + 1, len(self.search_results))
|
||||
if isinstance(result, SearchResult):
|
||||
tt = '<p>' + escape(result.before, False) + '<b>' + escape(result.text, False) + '</b>' + escape(result.after, False)
|
||||
item.setData(0, Qt.ToolTipRole, tt)
|
||||
item.setIcon(0, self.blank_icon)
|
||||
self.item_map[len(self.search_results)] = item
|
||||
self.search_results.append(result)
|
||||
|
Loading…
x
Reference in New Issue
Block a user