diff --git a/src/calibre/gui2/__init__.py b/src/calibre/gui2/__init__.py index 14776d1363..463d36d748 100644 --- a/src/calibre/gui2/__init__.py +++ b/src/calibre/gui2/__init__.py @@ -105,6 +105,7 @@ gprefs.defaults['ui_style'] = 'calibre' if iswindows or isosx else 'system' gprefs.defaults['tag_browser_old_look'] = False gprefs.defaults['book_list_tooltips'] = True gprefs.defaults['bd_show_cover'] = True +gprefs.defaults['bd_overlay_cover_size'] = False # }}} NONE = QVariant() #: Null value to return from the data function of item models diff --git a/src/calibre/gui2/book_details.py b/src/calibre/gui2/book_details.py index 90284df809..4d00d282d5 100644 --- a/src/calibre/gui2/book_details.py +++ b/src/calibre/gui2/book_details.py @@ -7,7 +7,8 @@ __docformat__ = 'restructuredtext en' from PyQt4.Qt import (QPixmap, QSize, QWidget, Qt, pyqtSignal, QUrl, QIcon, QPropertyAnimation, QEasingCurve, QApplication, QFontInfo, QAction, - QSizePolicy, QPainter, QRect, pyqtProperty, QLayout, QPalette, QMenu) + QSizePolicy, QPainter, QRect, pyqtProperty, QLayout, QPalette, QMenu, + QPen, QColor) from PyQt4.QtWebKit import QWebView from calibre import fit_image, force_unicode, prepare_string_for_xml @@ -324,6 +325,17 @@ class CoverView(QWidget): # {{{ p.setRenderHints(QPainter.Antialiasing | QPainter.SmoothPixmapTransform) p.drawPixmap(target, self.pixmap.scaled(target.size(), Qt.KeepAspectRatio, Qt.SmoothTransformation)) + if gprefs['bd_overlay_cover_size']: + sztgt = target.adjusted(0, 0, 0, -4) + f = p.font() + f.setBold(True) + p.setFont(f) + sz = u'\u00a0%d x %d\u00a0'%(self.pixmap.width(), self.pixmap.height()) + 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() current_pixmap_size = pyqtProperty('QSize', diff --git a/src/calibre/gui2/preferences/look_feel.py b/src/calibre/gui2/preferences/look_feel.py index 65e6ab6d9f..754ac6c6ce 100644 --- a/src/calibre/gui2/preferences/look_feel.py +++ b/src/calibre/gui2/preferences/look_feel.py @@ -107,6 +107,7 @@ class ConfigWidget(ConfigWidgetBase, Ui_Form): r('book_list_tooltips', gprefs) r('tag_browser_old_look', gprefs, restart_required=True) r('bd_show_cover', gprefs) + r('bd_overlay_cover_size', gprefs) r('cover_flow_queue_length', config, restart_required=True) diff --git a/src/calibre/gui2/preferences/look_feel.ui b/src/calibre/gui2/preferences/look_feel.ui index 2a4397b22d..fe6d9ecb62 100644 --- a/src/calibre/gui2/preferences/look_feel.ui +++ b/src/calibre/gui2/preferences/look_feel.ui @@ -309,11 +309,38 @@ Manage Authors. You can use the values {author} and - - - Show &cover in the book details panel - - + + + + + Show &cover in the book details panel + + + + + + + Show the size of the book's cover in pixels + + + Show cover &size + + + + + + + Qt::Horizontal + + + + 20 + 0 + + + + +