mirror of
https://github.com/kovidgoyal/calibre.git
synced 2025-07-09 03:04:10 -04:00
Edit metadata dialog: Show the size of the current book cover in the edit metadata dialog. Fixes #1079781 ([Enhancement] Display cover size in pixels)
This commit is contained in:
parent
34a2758d3c
commit
f0d32cb528
@ -867,6 +867,7 @@ class Cover(ImageView): # {{{
|
|||||||
|
|
||||||
def __init__(self, parent):
|
def __init__(self, parent):
|
||||||
ImageView.__init__(self, parent)
|
ImageView.__init__(self, parent)
|
||||||
|
self.show_size = True
|
||||||
self.dialog = parent
|
self.dialog = parent
|
||||||
self._cdata = None
|
self._cdata = None
|
||||||
self.cover_changed.connect(self.set_pixmap_from_data)
|
self.cover_changed.connect(self.set_pixmap_from_data)
|
||||||
|
@ -283,6 +283,7 @@ class ImageView(QWidget, ImageDropMixin): # {{{
|
|||||||
self.setMinimumSize(QSize(150, 200))
|
self.setMinimumSize(QSize(150, 200))
|
||||||
ImageDropMixin.__init__(self)
|
ImageDropMixin.__init__(self)
|
||||||
self.draw_border = True
|
self.draw_border = True
|
||||||
|
self.show_size = False
|
||||||
|
|
||||||
def setPixmap(self, pixmap):
|
def setPixmap(self, pixmap):
|
||||||
if not isinstance(pixmap, QPixmap):
|
if not isinstance(pixmap, QPixmap):
|
||||||
@ -305,6 +306,7 @@ class ImageView(QWidget, ImageDropMixin): # {{{
|
|||||||
if pmap.isNull():
|
if pmap.isNull():
|
||||||
return
|
return
|
||||||
w, h = pmap.width(), pmap.height()
|
w, h = pmap.width(), pmap.height()
|
||||||
|
ow, oh = w, h
|
||||||
cw, ch = self.rect().width(), self.rect().height()
|
cw, ch = self.rect().width(), self.rect().height()
|
||||||
scaled, nw, nh = fit_image(w, h, cw, ch)
|
scaled, nw, nh = fit_image(w, h, cw, ch)
|
||||||
if scaled:
|
if scaled:
|
||||||
@ -317,12 +319,23 @@ class ImageView(QWidget, ImageDropMixin): # {{{
|
|||||||
p = QPainter(self)
|
p = QPainter(self)
|
||||||
p.setRenderHints(QPainter.Antialiasing | QPainter.SmoothPixmapTransform)
|
p.setRenderHints(QPainter.Antialiasing | QPainter.SmoothPixmapTransform)
|
||||||
p.drawPixmap(target, pmap)
|
p.drawPixmap(target, pmap)
|
||||||
|
if self.draw_border:
|
||||||
pen = QPen()
|
pen = QPen()
|
||||||
pen.setWidth(self.BORDER_WIDTH)
|
pen.setWidth(self.BORDER_WIDTH)
|
||||||
p.setPen(pen)
|
p.setPen(pen)
|
||||||
if self.draw_border:
|
|
||||||
p.drawRect(target)
|
p.drawRect(target)
|
||||||
#p.drawRect(self.rect())
|
if self.show_size:
|
||||||
|
sztgt = target.adjusted(0, 0, 0, -4)
|
||||||
|
f = p.font()
|
||||||
|
f.setBold(True)
|
||||||
|
f.setPointSize(12)
|
||||||
|
p.setFont(f)
|
||||||
|
sz = u'\u00a0%d x %d\u00a0'%(ow, oh)
|
||||||
|
flags = Qt.AlignBottom|Qt.AlignRight|Qt.TextSingleLine
|
||||||
|
szrect = p.boundingRect(sztgt, flags, sz)
|
||||||
|
p.fillRect(szrect.adjusted(0, 0, 0, 4), QColor(0, 0, 0, 200))
|
||||||
|
p.setPen(QPen(QColor(255,255,255)))
|
||||||
|
p.drawText(sztgt, flags, sz)
|
||||||
p.end()
|
p.end()
|
||||||
# }}}
|
# }}}
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user