diff --git a/src/calibre/gui2/comments_editor.py b/src/calibre/gui2/comments_editor.py index c1a2f48881..421a9a207e 100644 --- a/src/calibre/gui2/comments_editor.py +++ b/src/calibre/gui2/comments_editor.py @@ -28,7 +28,7 @@ from calibre.gui2.widgets import LineEditECM from calibre.gui2.widgets2 import to_plain_text from calibre.utils.config import tweaks from calibre.utils.imghdr import what -from polyglot.builtins import filter, iteritems, itervalues, unicode_type +from polyglot.builtins import filter, iteritems, itervalues, unicode_type, as_bytes # Cleanup Qt markup {{{ @@ -764,7 +764,12 @@ class EditorWidget(QTextEdit, LineEditECM): # {{{ with lopen(path, 'rb') as f: data = f.read() except EnvironmentError: - pass + return QByteArray(bytearray.fromhex( + '89504e470d0a1a0a0000000d49484452' + '000000010000000108060000001f15c4' + '890000000a49444154789c6300010000' + '0500010d0a2db40000000049454e44ae' + '426082')) else: return QByteArray(data) diff --git a/src/calibre/gui2/widgets2.py b/src/calibre/gui2/widgets2.py index 97f2d60e73..9a02f188c4 100644 --- a/src/calibre/gui2/widgets2.py +++ b/src/calibre/gui2/widgets2.py @@ -11,7 +11,7 @@ from PyQt5.Qt import ( QDialogButtonBox, QFont, QFontInfo, QFontMetrics, QIcon, QKeySequence, QLabel, QLayout, QPalette, QPixmap, QPoint, QPushButton, QRect, QScrollArea, QSize, QSizePolicy, QStyle, QStyledItemDelegate, Qt, QTabWidget, QTextBrowser, - QToolButton, QUndoCommand, QUndoStack, QWidget, pyqtSignal + QToolButton, QUndoCommand, QUndoStack, QWidget, pyqtSignal, QByteArray ) from calibre.ebooks.metadata import rating_to_stars @@ -482,6 +482,23 @@ class HTMLDisplay(QTextBrowser): return self.anchor_clicked.emit(qurl) + def loadResource(self, rtype, qurl): + if qurl.isLocalFile(): + path = qurl.toLocalFile() + try: + with lopen(path, 'rb') as f: + data = f.read() + except EnvironmentError: + return QByteArray(bytearray.fromhex( + '89504e470d0a1a0a0000000d49484452' + '000000010000000108060000001f15c4' + '890000000a49444154789c6300010000' + '0500010d0a2db40000000049454e44ae' + '426082')) + else: + return QByteArray(data) + else: + QTextBrowser.loadResource(self, rtype, qurl) class ScrollingTabWidget(QTabWidget):