From e144144b51d709d2da908b061b1ab323b9e76c11 Mon Sep 17 00:00:00 2001 From: Kovid Goyal Date: Thu, 26 Jul 2018 13:47:47 +0530 Subject: [PATCH] More lambda slots --- src/calibre/gui2/actions/polish.py | 7 ++++--- src/calibre/gui2/actions/similar_books.py | 4 ++-- src/calibre/gui2/actions/tweak_epub.py | 4 ++-- 3 files changed, 8 insertions(+), 7 deletions(-) diff --git a/src/calibre/gui2/actions/polish.py b/src/calibre/gui2/actions/polish.py index 50dc70171a..77aa393636 100644 --- a/src/calibre/gui2/actions/polish.py +++ b/src/calibre/gui2/actions/polish.py @@ -96,7 +96,8 @@ class Polish(QDialog): # {{{ count += 1 x = QCheckBox(text, self) x.setChecked(prefs.get(name, False)) - x.stateChanged.connect(partial(self.option_toggled, name)) + x.setObjectName(name) + connect_lambda(x.stateChanged, self, lambda self, state: self.option_toggled(self.sender().objectName(), state)) l.addWidget(x, count, 0, 1, 1) setattr(self, 'opt_'+name, x) la = QLabel(' %s'%(name, _('About'))) @@ -132,9 +133,9 @@ class Polish(QDialog): # {{{ self.load_menu = QMenu(lb) lb.setMenu(self.load_menu) self.all_button = b = bb.addButton(_('Select &all'), bb.ActionRole) - b.clicked.connect(partial(self.select_all, True)) + connect_lambda(b.clicked, self, lambda self: self.select_all(True)) self.none_button = b = bb.addButton(_('Select &none'), bb.ActionRole) - b.clicked.connect(partial(self.select_all, False)) + connect_lambda(b.clicked, self, lambda self: self.select_all(False)) l.addWidget(bb, count+1, 1, 1, -1) self.setup_load_button() diff --git a/src/calibre/gui2/actions/similar_books.py b/src/calibre/gui2/actions/similar_books.py index 6a7d292771..fe2d0e4e0a 100644 --- a/src/calibre/gui2/actions/similar_books.py +++ b/src/calibre/gui2/actions/similar_books.py @@ -5,7 +5,6 @@ __license__ = 'GPL v3' __copyright__ = '2010, Kovid Goyal ' __docformat__ = 'restructuredtext en' -from functools import partial from PyQt5.Qt import QToolButton @@ -30,8 +29,9 @@ class SimilarBooksAction(InterfaceAction): (_('Books with the same tags'), 'tags.png', 'tags', 'Alt+T'),]: ac = self.create_action(spec=(text, icon, None, shortcut), attr=target) + ac.setObjectName(target) m.addAction(ac) - ac.triggered.connect(partial(self.show_similar_books, target)) + connect_lambda(ac.triggered, self, lambda self: self.show_similar_books(self.gui.sender().objectName())) self.qaction.setMenu(m) def show_similar_books(self, typ, *args): diff --git a/src/calibre/gui2/actions/tweak_epub.py b/src/calibre/gui2/actions/tweak_epub.py index 1661c40fa3..344ed02205 100755 --- a/src/calibre/gui2/actions/tweak_epub.py +++ b/src/calibre/gui2/actions/tweak_epub.py @@ -6,7 +6,6 @@ __copyright__ = '2010, Kovid Goyal ' __docformat__ = 'restructuredtext en' import time -from functools import partial from PyQt5.Qt import QTimer, QDialog, QDialogButtonBox, QCheckBox, QVBoxLayout, QLabel, Qt @@ -37,7 +36,8 @@ class Choose(QDialog): self.buts = buts = [] for fmt in fmts: b = bb.addButton(fmt.upper(), bb.AcceptRole) - b.clicked.connect(partial(self.chosen, fmt)) + b.setObjectName(fmt) + connect_lambda(b.clicked, self, lambda self: self.chosen(self.sender().objectName())) buts.append(b) self.fmt = None