Fix high dpi rendering in the customize cover generation dialog

This commit is contained in:
Kovid Goyal 2016-09-30 16:53:24 +05:30
parent 6af46e25e1
commit 86135682a7

View File

@ -458,7 +458,8 @@ class CoverSettingsWidget(QWidget):
def update_preview(self):
if self.ignore_changed:
return
w, h = self.preview_label.sizeHint().width(), self.preview_label.sizeHint().height()
dpr = getattr(self, 'devicePixelRatioF', self.devicePixelRatio)()
w, h = int(dpr * self.preview_label.sizeHint().width()), int(dpr * self.preview_label.sizeHint().height())
prefs = self.prefs_for_rendering
hr = h / prefs['cover_height']
for x in ('title', 'subtitle', 'footer'):
@ -466,6 +467,7 @@ class CoverSettingsWidget(QWidget):
prefs[attr] = int(prefs[attr] * hr)
prefs['cover_width'], prefs['cover_height'] = w, h
img = generate_cover(self.mi, prefs=prefs, as_qimage=True)
img.setDevicePixelRatio(dpr)
self.preview_label.setPixmap(QPixmap.fromImage(img))
def default_mi(self):