Dont roundtrip via JPEG when image dropped on book details popup window

This commit is contained in:
Kovid Goyal 2016-08-24 21:15:12 +05:30
parent 0b4ff115a8
commit 924f426310

View File

@ -243,13 +243,15 @@ class ImageDropMixin(object): # {{{
d.start_download() d.start_download()
if d.err is None: if d.err is None:
pmap = QPixmap() pmap = QPixmap()
pmap.loadFromData(open(d.fpath, 'rb').read()) with lopen(d.fpath, 'rb') as f:
data = f.read()
pmap.loadFromData(data)
if not pmap.isNull(): if not pmap.isNull():
self.handle_image_drop(pmap) self.handle_image_drop(pmap, data=data)
def handle_image_drop(self, pmap): def handle_image_drop(self, pmap, data=None):
self.set_pixmap(pmap) self.set_pixmap(pmap)
self.cover_changed.emit(pixmap_to_data(pmap, quality=100)) self.cover_changed.emit(data or pixmap_to_data(pmap, format='PNG'))
def dragMoveEvent(self, event): def dragMoveEvent(self, event):
event.acceptProposedAction() event.acceptProposedAction()
@ -284,7 +286,7 @@ class ImageDropMixin(object): # {{{
if not pmap.isNull(): if not pmap.isNull():
self.set_pixmap(pmap) self.set_pixmap(pmap)
self.cover_changed.emit( self.cover_changed.emit(
pixmap_to_data(pmap, quality=100)) pixmap_to_data(pmap, format='PNG'))
# }}} # }}}
class ImageView(QWidget, ImageDropMixin): # {{{ class ImageView(QWidget, ImageDropMixin): # {{{