mirror of
https://github.com/kovidgoyal/calibre.git
synced 2025-07-09 03:04:10 -04:00
Fix rich text delegate not working with Qt compiled in debug mode. Fixes #1089011 (calibre-0.9.9: qt assert failure upon metadata download)
This commit is contained in:
parent
de4d1a0f80
commit
4cd6c889a9
@ -17,10 +17,12 @@ from Queue import Queue, Empty
|
|||||||
from io import BytesIO
|
from io import BytesIO
|
||||||
|
|
||||||
from PyQt4.Qt import (QStyledItemDelegate, QTextDocument, QRectF, QIcon, Qt,
|
from PyQt4.Qt import (QStyledItemDelegate, QTextDocument, QRectF, QIcon, Qt,
|
||||||
QApplication, QDialog, QVBoxLayout, QLabel, QDialogButtonBox, QStyle,
|
QApplication, QDialog, QVBoxLayout, QLabel,
|
||||||
QStackedWidget, QWidget, QTableView, QGridLayout, QFontInfo, QPalette,
|
QDialogButtonBox, QStyle, QStackedWidget, QWidget,
|
||||||
QTimer, pyqtSignal, QAbstractTableModel, QVariant, QSize, QListView,
|
QTableView, QGridLayout, QFontInfo, QPalette, QTimer,
|
||||||
QPixmap, QAbstractListModel, QColor, QRect, QTextBrowser, QModelIndex)
|
pyqtSignal, QAbstractTableModel, QVariant, QSize,
|
||||||
|
QListView, QPixmap, QAbstractListModel, QColor, QRect,
|
||||||
|
QTextBrowser, QStringListModel)
|
||||||
from PyQt4.QtWebKit import QWebView
|
from PyQt4.QtWebKit import QWebView
|
||||||
|
|
||||||
from calibre.customize.ui import metadata_plugins
|
from calibre.customize.ui import metadata_plugins
|
||||||
@ -44,6 +46,8 @@ class RichTextDelegate(QStyledItemDelegate): # {{{
|
|||||||
def __init__(self, parent=None, max_width=160):
|
def __init__(self, parent=None, max_width=160):
|
||||||
QStyledItemDelegate.__init__(self, parent)
|
QStyledItemDelegate.__init__(self, parent)
|
||||||
self.max_width = max_width
|
self.max_width = max_width
|
||||||
|
self.dummy_model = QStringListModel([' '], self)
|
||||||
|
self.dummy_index = self.dummy_model.index(0)
|
||||||
|
|
||||||
def to_doc(self, index, option=None):
|
def to_doc(self, index, option=None):
|
||||||
doc = QTextDocument()
|
doc = QTextDocument()
|
||||||
@ -66,7 +70,7 @@ class RichTextDelegate(QStyledItemDelegate): # {{{
|
|||||||
return ans
|
return ans
|
||||||
|
|
||||||
def paint(self, painter, option, index):
|
def paint(self, painter, option, index):
|
||||||
QStyledItemDelegate.paint(self, painter, option, QModelIndex())
|
QStyledItemDelegate.paint(self, painter, option, self.dummy_index)
|
||||||
painter.save()
|
painter.save()
|
||||||
painter.setClipRect(QRectF(option.rect))
|
painter.setClipRect(QRectF(option.rect))
|
||||||
painter.translate(option.rect.topLeft())
|
painter.translate(option.rect.topLeft())
|
||||||
|
Loading…
x
Reference in New Issue
Block a user