From 853cb8f19113385c84eef991a23c3f3c89683366 Mon Sep 17 00:00:00 2001 From: Kovid Goyal Date: Tue, 24 Jul 2018 08:25:05 +0530 Subject: [PATCH] More lambda slot fixes --- src/calibre/gui2/preferences/coloring.py | 5 ++--- src/calibre/gui2/preferences/emailp.py | 3 +-- src/calibre/gui2/preferences/look_feel.py | 27 +++++++++++------------ src/calibre/gui2/preferences/toolbar.py | 6 ++--- 4 files changed, 18 insertions(+), 23 deletions(-) diff --git a/src/calibre/gui2/preferences/coloring.py b/src/calibre/gui2/preferences/coloring.py index 3c9aefe452..80034cd96d 100644 --- a/src/calibre/gui2/preferences/coloring.py +++ b/src/calibre/gui2/preferences/coloring.py @@ -8,7 +8,6 @@ __copyright__ = '2011, Kovid Goyal ' __docformat__ = 'restructuredtext en' import os, textwrap, json -from functools import partial from PyQt5.Qt import (QWidget, QDialog, QLabel, QGridLayout, QComboBox, QSize, QLineEdit, QIntValidator, QDoubleValidator, QFrame, Qt, QIcon, QHBoxLayout, @@ -575,8 +574,8 @@ class RuleEditor(QDialog): # {{{ m = self.remove_button.menu() m.clear() for name in self.icon_file_names: - m.addAction(QIcon(os.path.join(self.icon_folder, name)), name).triggered.connect(partial( - self.remove_image, name)) + ac = m.addAction(QIcon(os.path.join(self.icon_folder, name)), name) + connect_lambda(ac.triggered, self, lambda self: self.remove_image(name)) def remove_image(self, name): try: diff --git a/src/calibre/gui2/preferences/emailp.py b/src/calibre/gui2/preferences/emailp.py index 12a98d8c45..09ec17c46b 100644 --- a/src/calibre/gui2/preferences/emailp.py +++ b/src/calibre/gui2/preferences/emailp.py @@ -224,8 +224,7 @@ class ConfigWidget(ConfigWidgetBase, Ui_Form): opts = self.send_email_widget.smtp_opts self._email_accounts = EmailAccounts(opts.accounts, opts.subjects, opts.aliases, opts.tags) - self._email_accounts.dataChanged.connect(lambda x,y: - self.changed_signal.emit()) + connect_lambda(self._email_accounts.dataChanged, self, lambda self: self.changed_signal.emit()) self.email_view.setModel(self._email_accounts) self.email_view.sortByColumn(0, Qt.AscendingOrder) self.email_view.setSortingEnabled(True) diff --git a/src/calibre/gui2/preferences/look_feel.py b/src/calibre/gui2/preferences/look_feel.py index cf2d5cd6c2..28efc137b6 100644 --- a/src/calibre/gui2/preferences/look_feel.py +++ b/src/calibre/gui2/preferences/look_feel.py @@ -9,7 +9,6 @@ import json, textwrap from collections import defaultdict from threading import Thread -from functools import partial from PyQt5.Qt import ( QApplication, QFont, QFontInfo, QFontDialog, QColorDialog, QPainter, @@ -172,13 +171,13 @@ class IdLinksEditor(Dialog): l.addWidget(t) t.horizontalHeader().setSectionResizeMode(2, t.horizontalHeader().Stretch) self.cb = b = QPushButton(QIcon(I('plus.png')), _('&Add rule'), self) - b.clicked.connect(lambda : self.edit_rule()) + connect_lambda(b.clicked, self, lambda self: self.edit_rule()) self.bb.addButton(b, self.bb.ActionRole) self.rb = b = QPushButton(QIcon(I('minus.png')), _('&Remove rule'), self) - b.clicked.connect(lambda : self.remove_rule()) + connect_lambda(b.clicked, self, lambda self: self.remove_rule()) self.bb.addButton(b, self.bb.ActionRole) self.eb = b = QPushButton(QIcon(I('modified.png')), _('&Edit rule'), self) - b.clicked.connect(lambda : self.edit_rule(self.table.currentRow())) + connect_lambda(b.clicked, self, lambda self: self.edit_rule(self.table.currentRow())) self.bb.addButton(b, self.bb.ActionRole) l.addWidget(self.bb) @@ -504,19 +503,19 @@ class ConfigWidget(ConfigWidgetBase, Ui_Form): self.field_display_order) self.display_model.dataChanged.connect(self.changed_signal) self.field_display_order.setModel(self.display_model) - self.df_up_button.clicked.connect(partial(move_field_up, - self.field_display_order, self.display_model)) - self.df_down_button.clicked.connect(partial(move_field_down, - self.field_display_order, self.display_model)) + connect_lambda(self.df_up_button.clicked, self, + lambda self: move_field_up(self.field_display_order, self.display_model)) + connect_lambda(self.df_down_button.clicked, self, + lambda self: move_field_down(self.field_display_order, self.display_model)) self.qv_display_model = QVDisplayedFields(self.gui.current_db, self.qv_display_order) self.qv_display_model.dataChanged.connect(self.changed_signal) self.qv_display_order.setModel(self.qv_display_model) - self.qv_up_button.clicked.connect(partial(move_field_up, - self.qv_display_order, self.qv_display_model)) - self.qv_down_button.clicked.connect(partial(move_field_down, - self.qv_display_order, self.qv_display_model)) + connect_lambda(self.qv_up_button.clicked, self, + lambda self: move_field_up(self.qv_display_order, self.qv_display_model)) + connect_lambda(self.qv_down_button.clicked, self, + lambda self: move_field_down(self.qv_display_order, self.qv_display_model)) self.edit_rules = EditRules(self.tabWidget) self.edit_rules.changed.connect(self.changed_signal) @@ -559,8 +558,8 @@ class ConfigWidget(ConfigWidgetBase, Ui_Form): b.clicked.connect(self.restore_cover_grid_appearance) self.cover_grid_empty_cache.clicked.connect(self.empty_cache) self.cover_grid_open_cache.clicked.connect(self.open_cg_cache) - self.cover_grid_smaller_cover.clicked.connect(partial(self.resize_cover, True)) - self.cover_grid_larger_cover.clicked.connect(partial(self.resize_cover, False)) + connect_lambda(self.cover_grid_smaller_cover.clicked, self, lambda self: self.resize_cover(True)) + connect_lambda(self.cover_grid_larger_cover.clicked, self, lambda self: self.resize_cover(False)) self.cover_grid_reset_size.clicked.connect(self.cg_reset_size) self.opt_cover_grid_disk_cache_size.setMinimum(self.gui.grid_view.thumbnail_cache.min_disk_cache) self.opt_cover_grid_disk_cache_size.setMaximum(self.gui.grid_view.thumbnail_cache.min_disk_cache * 100) diff --git a/src/calibre/gui2/preferences/toolbar.py b/src/calibre/gui2/preferences/toolbar.py index 921b2988ae..ba7a5e3f48 100644 --- a/src/calibre/gui2/preferences/toolbar.py +++ b/src/calibre/gui2/preferences/toolbar.py @@ -5,8 +5,6 @@ __license__ = 'GPL v3' __copyright__ = '2010, Kovid Goyal ' __docformat__ = 'restructuredtext en' -from functools import partial - from PyQt5.Qt import QAbstractListModel, Qt, QIcon, \ QItemSelectionModel @@ -263,8 +261,8 @@ class ConfigWidget(ConfigWidgetBase, Ui_Form): self.add_action_button.clicked.connect(self.add_action) self.remove_action_button.clicked.connect(self.remove_action) - self.action_up_button.clicked.connect(partial(self.move, -1)) - self.action_down_button.clicked.connect(partial(self.move, 1)) + connect_lambda(self.action_up_button.clicked, self, lambda self: self.move(-1)) + connect_lambda(self.action_down_button.clicked, self, lambda self: self.move(1)) self.all_actions.setMouseTracking(True) self.current_actions.setMouseTracking(True) self.all_actions.entered.connect(self.all_entered)