This commit is contained in:
Kovid Goyal 2025-02-26 07:51:00 +05:30
parent 87e8c06819
commit 3e35e2db76
No known key found for this signature in database
GPG Key ID: 06BC317B515ACE7C

View File

@ -14,7 +14,7 @@ from threading import Thread
from qt.core import QDialog, QDialogButtonBox, QImageReader, QLabel, QMimeData, QPixmap, QProgressBar, Qt, QTimer, QUrl, QVBoxLayout from qt.core import QDialog, QDialogButtonBox, QImageReader, QLabel, QMimeData, QPixmap, QProgressBar, Qt, QTimer, QUrl, QVBoxLayout
from calibre import as_unicode, browser, prints from calibre import as_unicode, browser, prints
from calibre.constants import DEBUG, iswindows from calibre.constants import DEBUG, ismacos, iswindows
from calibre.gui2 import error_dialog from calibre.gui2 import error_dialog
from calibre.ptempfile import PersistentTemporaryFile from calibre.ptempfile import PersistentTemporaryFile
from calibre.utils.filenames import make_long_path_useable from calibre.utils.filenames import make_long_path_useable
@ -389,9 +389,10 @@ def has_firefox_ext(md, exts):
def set_urls_from_local_file_paths(md: QMimeData, *paths: str) -> QMimeData: def set_urls_from_local_file_paths(md: QMimeData, *paths: str) -> QMimeData:
# see https://bugreports.qt.io/browse/QTBUG-134073
md.setUrls(list(map(QUrl.fromLocalFile, paths))) md.setUrls(list(map(QUrl.fromLocalFile, paths)))
raw = bytes(md.data('text/uri-list')) if ismacos:
raw = raw.replace(b'[', b'%5B').replace(b']', b'%5D') # see https://bugreports.qt.io/browse/QTBUG-134073
md.setData('text/uri-list', raw) raw = bytes(md.data('text/uri-list'))
raw = raw.replace(b'[', b'%5B').replace(b']', b'%5D')
md.setData('text/uri-list', raw)
return md return md