diff --git a/src/calibre/gui2/convert/look_and_feel.py b/src/calibre/gui2/convert/look_and_feel.py index 565d0f5df4..c2f07ec5af 100644 --- a/src/calibre/gui2/convert/look_and_feel.py +++ b/src/calibre/gui2/convert/look_and_feel.py @@ -47,10 +47,10 @@ class LookAndFeelWidget(Widget, Ui_Form): self.button_font_key.clicked.connect(self.font_key_wizard) self.opt_remove_paragraph_spacing.toggle() self.opt_remove_paragraph_spacing.toggle() - self.opt_smarten_punctuation.stateChanged.connect( - lambda state: state != Qt.Unchecked and self.opt_unsmarten_punctuation.setCheckState(Qt.Unchecked)) - self.opt_unsmarten_punctuation.stateChanged.connect( - lambda state: state != Qt.Unchecked and self.opt_smarten_punctuation.setCheckState(Qt.Unchecked)) + connect_lambda(self.opt_smarten_punctuation.stateChanged, self, lambda self, state: + state != Qt.Unchecked and self.opt_unsmarten_punctuation.setCheckState(Qt.Unchecked)) + connect_lambda(self.opt_unsmarten_punctuation.stateChanged, self, lambda self, state: + state != Qt.Unchecked and self.opt_smarten_punctuation.setCheckState(Qt.Unchecked)) def get_value_handler(self, g): if g is self.opt_change_justification: diff --git a/src/calibre/gui2/device.py b/src/calibre/gui2/device.py index 3969b02330..e3417bb778 100644 --- a/src/calibre/gui2/device.py +++ b/src/calibre/gui2/device.py @@ -806,7 +806,7 @@ class DeviceMenu(QMenu): # {{{ mitem = self.addAction(QIcon(I('eject.png')), _('Eject device')) mitem.setEnabled(False) - mitem.triggered.connect(lambda x : self.disconnect_mounted_device.emit()) + connect_lambda(mitem.triggered, self, lambda self, x: self.disconnect_mounted_device.emit()) self.disconnect_mounted_device_action = mitem self.addSeparator() @@ -818,8 +818,7 @@ class DeviceMenu(QMenu): # {{{ annot = self.addAction(_('Fetch annotations (experimental)')) annot.setEnabled(False) - annot.triggered.connect(lambda x : - self.fetch_annotations.emit()) + connect_lambda(annot.triggered, self, lambda self, x: self.fetch_annotations.emit()) self.annotation_action = annot self.enable_device_actions(False) @@ -1769,7 +1768,7 @@ class DeviceMixin(object): # {{{ except: return False - string_pat = re.compile('(?u)\W|[_]') + string_pat = re.compile(r'(?u)\W|[_]') def clean_string(x): x = x.lower() if x else '' diff --git a/src/calibre/gui2/tag_mapper.py b/src/calibre/gui2/tag_mapper.py index 83969d90d9..f03e0bd524 100644 --- a/src/calibre/gui2/tag_mapper.py +++ b/src/calibre/gui2/tag_mapper.py @@ -6,7 +6,6 @@ from __future__ import (unicode_literals, division, absolute_import, print_function) from collections import OrderedDict -from functools import partial import textwrap from PyQt5.Qt import ( @@ -453,11 +452,15 @@ class SaveLoadMixin(object): self.load_menu.clear() if len(self.PREFS_OBJECT): for name, rules in self.PREFS_OBJECT.iteritems(): - self.load_menu.addAction(name).triggered.connect(partial(self.load_ruleset, name)) + ac = self.load_menu.addAction(name) + ac.setObjectName(name) + connect_lambda(ac.triggered, self, lambda self: self.load_ruleset(self.sender().objectName())) self.load_menu.addSeparator() m = self.load_menu.addMenu(_('Delete saved rulesets')) for name, rules in self.PREFS_OBJECT.iteritems(): - m.addAction(name).triggered.connect(partial(self.delete_ruleset, name)) + ac = m.addAction(name) + ac.setObjectName(name) + connect_lambda(ac.triggered, self, lambda self: self.delete_ruleset(self.sender().objectName())) else: self.load_menu.addAction(_('No saved rulesets available'))