From e9a35b1958c7faecb50ee33b88d79c45c44c38e5 Mon Sep 17 00:00:00 2001 From: Kovid Goyal Date: Tue, 13 Aug 2013 13:16:02 +0530 Subject: [PATCH] Show current aspect ratio when changing cover size --- src/calibre/gui2/preferences/look_feel.py | 15 ++++++++++++++- src/calibre/gui2/preferences/look_feel.ui | 13 +++++++++++-- 2 files changed, 25 insertions(+), 3 deletions(-) diff --git a/src/calibre/gui2/preferences/look_feel.py b/src/calibre/gui2/preferences/look_feel.py index 27ca36d0a1..469eaf35cb 100644 --- a/src/calibre/gui2/preferences/look_feel.py +++ b/src/calibre/gui2/preferences/look_feel.py @@ -222,8 +222,11 @@ class ConfigWidget(ConfigWidgetBase, Ui_Form): self.cover_grid_larger_cover.clicked.connect(partial(self.resize_cover, False)) self.opt_cover_grid_disk_cache_size.setMinimum(self.gui.grid_view.thumbnail_cache.min_disk_cache) self.opt_cover_grid_disk_cache_size.setMaximum(self.gui.grid_view.thumbnail_cache.min_disk_cache * 100) + self.opt_cover_grid_width.valueChanged.connect(self.update_aspect_ratio) + self.opt_cover_grid_height.valueChanged.connect(self.update_aspect_ratio) - def resize_cover(self, smaller): + @property + def current_cover_size(self): cval = self.opt_cover_grid_height.value() wval = self.opt_cover_grid_width.value() if cval < 0.1: @@ -231,6 +234,15 @@ class ConfigWidget(ConfigWidgetBase, Ui_Form): cval = auto_height(self.opt_cover_grid_height) / dpi / CM_TO_INCH if wval < 0.1: wval = 0.75 * cval + return wval, cval + + def update_aspect_ratio(self, *args): + width, height = self.current_cover_size + ar = width / height + self.cover_grid_aspect_ratio.setText(_('Current aspect ratio (width/height): %.2g') % ar) + + def resize_cover(self, smaller): + wval, cval = self.current_cover_size ar = wval / cval delta = 0.2 * (-1 if smaller else 1) cval += delta @@ -256,6 +268,7 @@ class ConfigWidget(ConfigWidgetBase, Ui_Form): self.edit_rules.initialize(db.field_metadata, db.prefs, mi, 'column_color_rules') self.icon_rules.initialize(db.field_metadata, db.prefs, mi, 'column_icon_rules') self.set_cg_color(gprefs['cover_grid_color']) + self.update_aspect_ratio() def open_cg_cache(self): open_local_file(self.gui.grid_view.thumbnail_cache.location) diff --git a/src/calibre/gui2/preferences/look_feel.ui b/src/calibre/gui2/preferences/look_feel.ui index 1adda76634..45874a095f 100644 --- a/src/calibre/gui2/preferences/look_feel.ui +++ b/src/calibre/gui2/preferences/look_feel.ui @@ -380,7 +380,8 @@ - The width of displayed covers + The width of displayed covers. +A value of zero means calculate automatically. Automatic @@ -420,7 +421,8 @@ - The height of displayed covers + The height of displayed covers. +A value of zero means calculate automatically. Automatic @@ -470,6 +472,13 @@ + + + + + + +