diff --git a/src/calibre/gui2/__init__.py b/src/calibre/gui2/__init__.py index 3ef8d234f3..4ef2954cec 100644 --- a/src/calibre/gui2/__init__.py +++ b/src/calibre/gui2/__init__.py @@ -1688,23 +1688,13 @@ def timed_print(*a, **kw): def local_path_for_resource(qurl: QUrl, base_qurl: 'QUrl | None' = None) -> str: - import re - - def fix_qt_bodging_windows_paths(path: str) -> str: - # When loading Qt gives us the - # URL: //c/path/to/img.png Le bubbling sigh - # https://bugreports.qt.io/browse/QTBUG-122201 - if iswindows and re.match(r'//[a-zA-Z]/', path) is not None and not os.path.exists(path): - path = os.path.normpath(path[2] + ':' + path[3:]) - return path - if base_qurl and qurl.isRelative(): qurl = base_qurl.resolved(qurl) if qurl.isLocalFile(): - return fix_qt_bodging_windows_paths(qurl.toLocalFile()) + return qurl.toLocalFile() if qurl.isRelative(): # this means has no scheme - return fix_qt_bodging_windows_paths(qurl.path()) + return qurl.path() return '' diff --git a/src/calibre/gui2/library/models.py b/src/calibre/gui2/library/models.py index aafce57bc2..77b99d2e6d 100644 --- a/src/calibre/gui2/library/models.py +++ b/src/calibre/gui2/library/models.py @@ -23,7 +23,7 @@ from calibre import ( fit_image, human_readable, isbytestring, prepare_string_for_xml, strftime, ) from calibre.constants import ( - DEBUG, config_dir, dark_link_color, filesystem_encoding, iswindows, + DEBUG, config_dir, dark_link_color, filesystem_encoding ) from calibre.db.search import CONTAINS_MATCH, EQUALS_MATCH, REGEXP_MATCH, _match from calibre.db.utils import force_to_bool @@ -916,17 +916,8 @@ class BooksModel(QAbstractTableModel): # {{{ text = fffunc(field_obj, idfunc(idx)) return (text) if force_to_bool(text) is None else None else: - if iswindows and dt == 'comments': - # https://bugreports.qt.io/browse/QTBUG-122201 - file_pat = re.compile(r'"file:///([a-zA-Z]):/(.+?)"') - def func(idx): - ans = fffunc(field_obj, idfunc(idx), default_value='') - if ans: - ans = file_pat.sub(r'"file:///\1%3a/\2"', ans) - return ans - else: - def func(idx): - return fffunc(field_obj, idfunc(idx), default_value='') + def func(idx): + return fffunc(field_obj, idfunc(idx), default_value='') elif dt == 'datetime': def func(idx): val = fffunc(field_obj, idfunc(idx), default_value=UNDEFINED_DATE)