Fix #1875054 [[Enhancement - Viewer] Zoom from current image size](https://bugs.launchpad.net/calibre/+bug/1875054)

This commit is contained in:
Kovid Goyal 2020-04-26 17:16:07 +05:30
parent cb5f6c7f31
commit 89b86799bf
No known key found for this signature in database
GPG Key ID: 06BC317B515ACE7C

View File

@ -101,15 +101,24 @@ class ImageView(QDialog):
if self.fit_image.isChecked(): if self.fit_image.isChecked():
self.set_to_viewport_size() 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): def zoom_in(self):
if self.fit_image.isChecked(): if self.fit_image.isChecked():
factor = self.factor_from_fit()
self.fit_image.setChecked(False) self.fit_image.setChecked(False)
self.factor = factor
self.factor *= 1.25 self.factor *= 1.25
self.adjust_image(1.25) self.adjust_image(1.25)
def zoom_out(self): def zoom_out(self):
if self.fit_image.isChecked(): if self.fit_image.isChecked():
factor = self.factor_from_fit()
self.fit_image.setChecked(False) self.fit_image.setChecked(False)
self.factor = factor
self.factor *= 0.8 self.factor *= 0.8
self.adjust_image(0.8) self.adjust_image(0.8)