From 259f1c24715168b02e9d5f04527e1bf7594fc0a4 Mon Sep 17 00:00:00 2001 From: Kovid Goyal Date: Sun, 23 May 2021 13:03:35 +0530 Subject: [PATCH] Handle double clicks in entire scroll area not just on image --- src/calibre/gui2/image_popup.py | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/src/calibre/gui2/image_popup.py b/src/calibre/gui2/image_popup.py index 0b3bdc1968..380656abe5 100644 --- a/src/calibre/gui2/image_popup.py +++ b/src/calibre/gui2/image_popup.py @@ -84,6 +84,11 @@ class Label(QLabel): if v.isVisible(): v.setValue(v.value() - dy) + +class ScrollArea(QScrollArea): + + toggle_fit = pyqtSignal() + def mouseDoubleClickEvent(self, ev): if ev.button() == Qt.MouseButton.LeftButton: self.toggle_fit.emit() @@ -104,11 +109,11 @@ class ImageView(QDialog): self.factor = 1.0 self.geom_name = geom_name - self.scrollarea = sa = QScrollArea() + self.scrollarea = sa = ScrollArea() sa.setAlignment(Qt.AlignmentFlag.AlignHCenter | Qt.AlignmentFlag.AlignVCenter) sa.setBackgroundRole(QPalette.ColorRole.Dark) self.label = l = Label(sa) - l.toggle_fit.connect(self.toggle_fit) + sa.toggle_fit.connect(self.toggle_fit) sa.setWidget(l) self.bb = bb = QDialogButtonBox(QDialogButtonBox.StandardButton.Close)