From 89b86799bffab012d55fb463edd7273c775609fe Mon Sep 17 00:00:00 2001 From: Kovid Goyal Date: Sun, 26 Apr 2020 17:16:07 +0530 Subject: [PATCH] Fix #1875054 [[Enhancement - Viewer] Zoom from current image size](https://bugs.launchpad.net/calibre/+bug/1875054) --- src/calibre/gui2/image_popup.py | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/src/calibre/gui2/image_popup.py b/src/calibre/gui2/image_popup.py index 502511b3ae..c58f3440f0 100644 --- a/src/calibre/gui2/image_popup.py +++ b/src/calibre/gui2/image_popup.py @@ -101,15 +101,24 @@ class ImageView(QDialog): if self.fit_image.isChecked(): self.set_to_viewport_size() + def factor_from_fit(self): + scaled_height = self.label.size().height() + actual_height = self.current_img.size().height() + return scaled_height / actual_height + def zoom_in(self): if self.fit_image.isChecked(): + factor = self.factor_from_fit() self.fit_image.setChecked(False) + self.factor = factor self.factor *= 1.25 self.adjust_image(1.25) def zoom_out(self): if self.fit_image.isChecked(): + factor = self.factor_from_fit() self.fit_image.setChecked(False) + self.factor = factor self.factor *= 0.8 self.adjust_image(0.8)