diff --git a/src/calibre/gui2/tweak_book/diff/view.py b/src/calibre/gui2/tweak_book/diff/view.py index 661ff816b6..64de1fa5a8 100644 --- a/src/calibre/gui2/tweak_book/diff/view.py +++ b/src/calibre/gui2/tweak_book/diff/view.py @@ -925,16 +925,18 @@ class DiffView(QWidget): # {{{ self.resize_timer = QTimer(self) self.resize_timer.setSingleShot(True) self.resize_timer.timeout.connect(self.resize_debounced) - for i, bar in enumerate((self.scrollbar, self.view.left.verticalScrollBar(), self.view.right.verticalScrollBar())): + for bar in (self.scrollbar, self.view.left.verticalScrollBar(), self.view.right.verticalScrollBar()): self.bars.append(bar) - bar.valueChanged[int].connect(partial(self.scrolled, i)) + bar.scroll_idx = len(self.bars) - 1 + connect_lambda(bar.valueChanged[int], self, lambda self: self.scrolled(self.sender().scroll_idx)) self.view.left.resized.connect(self.resized) - for i, v in enumerate((self.view.left, self.view.right, self.view.handle(1))): + for v in (self.view.left, self.view.right, self.view.handle(1)): v.wheel_event.connect(self.scrollbar.wheelEvent) - if i < 2: + if v is self.view.left or v is self.view.right: v.next_change.connect(self.next_change) v.line_activated.connect(self.line_activated) - v.scrolled.connect(partial(self.scrolled, i + 1)) + connect_lambda(v.scrolled, self, + lambda self: self.scrolled(1 if self.sender() is self.view.left else 2)) def next_change(self, delta): assert delta in (1, -1) @@ -1093,4 +1095,3 @@ class DiffView(QWidget): # {{{ return True return False # }}} - diff --git a/src/calibre/gui2/tweak_book/editor/image.py b/src/calibre/gui2/tweak_book/editor/image.py index 616ca3153c..cb9bbf71e3 100644 --- a/src/calibre/gui2/tweak_book/editor/image.py +++ b/src/calibre/gui2/tweak_book/editor/image.py @@ -7,7 +7,6 @@ __license__ = 'GPL v3' __copyright__ = '2013, Kovid Goyal ' import sys -from functools import partial from PyQt5.Qt import ( QMainWindow, Qt, QApplication, pyqtSignal, QLabel, QIcon, QFormLayout, QSize, @@ -40,8 +39,8 @@ class ResizeDialog(QDialog): # {{{ h.setValue(height) h.setSuffix(' px') l.addRow(_('&Height:'), h) - w.valueChanged.connect(partial(self.keep_ar, 'width')) - h.valueChanged.connect(partial(self.keep_ar, 'height')) + connect_lambda(w.valueChanged, self, lambda self: self.keep_ar('width')) + connect_lambda(h.valueChanged, self, lambda self: self.keep_ar('height')) self.ar = ar = QCheckBox(_('Keep &aspect ratio')) ar.setChecked(True) @@ -350,5 +349,6 @@ def launch_editor(path_to_edit, path_is_raw=False): t.show() app.exec_() + if __name__ == '__main__': launch_editor(sys.argv[-1]) diff --git a/src/calibre/gui2/tweak_book/editor/insert_resource.py b/src/calibre/gui2/tweak_book/editor/insert_resource.py index 86d7620440..a846c4b5b2 100644 --- a/src/calibre/gui2/tweak_book/editor/insert_resource.py +++ b/src/calibre/gui2/tweak_book/editor/insert_resource.py @@ -259,14 +259,21 @@ class InsertImage(Dialog): self.preserve_aspect_ratio = a = QCheckBox(_('Preserve aspect ratio')) a.setToolTip(_('Preserve the aspect ratio of the inserted image when rendering it full paged')) a.setChecked(tprefs['preserve_aspect_ratio_when_inserting_image']) - f.toggled.connect(lambda : (tprefs.set('insert_full_screen_image', f.isChecked()), a.setVisible(f.isChecked()))) - a.toggled.connect(lambda : tprefs.set('preserve_aspect_ratio_when_inserting_image', a.isChecked())) + f.toggled.connect(self.full_page_image_toggled) + a.toggled.connect(self.par_toggled) a.setVisible(f.isChecked()) h = QHBoxLayout() l.addLayout(h, 3, 0, 1, -1) h.addWidget(f), h.addStretch(10), h.addWidget(a) l.addWidget(self.bb, 4, 0, 1, 2) + def full_page_image_toggled(self): + tprefs.set('insert_full_screen_image', self.fullpage.isChecked()) + self.preserve_aspect_ratio.setVisible(self.fullpage.isChecked()) + + def par_toggled(self): + tprefs.set('preserve_aspect_ratio_when_inserting_image', self.preserve_aspect_ratio.isChecked()) + def refresh(self): self.d.cover_cache.clear() self.model.refresh() @@ -439,9 +446,9 @@ class NewBook(Dialog): # {{{ bb.clear() bb.addButton(bb.Cancel) b = bb.addButton('&EPUB', bb.AcceptRole) - b.clicked.connect(partial(self.set_fmt, 'epub')) + connect_lambda(b.clicked, self, lambda self: self.set_fmt('epub')) b = bb.addButton('&AZW3', bb.AcceptRole) - b.clicked.connect(partial(self.set_fmt, 'azw3')) + connect_lambda(b.clicked, self, lambda self: self.set_fmt('azw3')) def set_fmt(self, fmt): self.fmt = fmt