more lambda slots

This commit is contained in:
Kovid Goyal 2018-07-26 15:11:06 +05:30
parent a2f5a7d0ff
commit 5960ce0fd1
No known key found for this signature in database
GPG Key ID: 06BC317B515ACE7C
5 changed files with 17 additions and 11 deletions

View File

@ -10,7 +10,6 @@ from operator import attrgetter, methodcaller
from collections import namedtuple
from future_builtins import map
from itertools import product
from functools import partial
from copy import copy, deepcopy
from PyQt5.Qt import (
@ -185,7 +184,7 @@ class EditorSettings(BasicSettings):
self.tb = b = QPushButton(_('Change &templates'))
l.addRow(_('Templates for new files:'), b)
b.clicked.connect(lambda : TemplatesDialog(self).exec_())
connect_lambda(b.clicked, self, lambda self: TemplatesDialog(self).exec_())
lw = self('editor_line_wrap')
lw.setText(_('&Wrap long lines in the editor'))
@ -415,10 +414,10 @@ class ToolbarSettings(QWidget):
l.addWidget(gb1, 0, 0, -1, 1), l.addWidget(gb2, 0, 2, -1, 1)
self.available, self.current = ToolbarList(self), ToolbarList(self)
self.ub = b = QToolButton(self)
b.clicked.connect(partial(self.move, up=True))
connect_lambda(b.clicked, self, lambda self: self.move(up=True))
b.setToolTip(_('Move selected action up')), b.setIcon(QIcon(I('arrow-up.png')))
self.db = b = QToolButton(self)
b.clicked.connect(partial(self.move, up=False))
connect_lambda(b.clicked, self, lambda self: self.move(up=False))
b.setToolTip(_('Move selected action down')), b.setIcon(QIcon(I('arrow-down.png')))
self.gl1 = gl1 = QVBoxLayout()
gl1.addWidget(self.available), gb1.setLayout(gl1)

View File

@ -474,12 +474,12 @@ class Preview(QWidget):
self.search = HistoryLineEdit2(self)
self.search.initialize('tweak_book_preview_search')
self.search.setPlaceholderText(_('Search in preview'))
self.search.returnPressed.connect(partial(self.find, 'next'))
connect_lambda(self.search.returnPressed, self, lambda self: self.find('next'))
self.bar.addSeparator()
self.bar.addWidget(self.search)
for d in ('next', 'prev'):
ac = actions['find-%s-preview' % d]
ac.triggered.connect(partial(self.find, d))
ac.triggered.connect(getattr(self, 'find_' + d))
self.bar.addAction(ac)
def find(self, direction):
@ -487,6 +487,12 @@ class Preview(QWidget):
self.view.findText(text, QWebPage.FindWrapsAroundDocument | (
QWebPage.FindBackward if direction == 'prev' else QWebPage.FindFlags(0)))
def find_next(self):
self.find('next')
def find_prev(self):
self.find('prev')
def request_sync(self, tagname, href, lnum):
if self.current_name:
c = current_container()

View File

@ -934,7 +934,7 @@ class SpellCheck(Dialog):
b = self.bb.addButton(_('&Refresh'), self.bb.ActionRole)
b.setToolTip('<p>' + _('Re-scan the book for words, useful if you have edited the book since opening this dialog'))
b.setIcon(QIcon(I('view-refresh.png')))
b.clicked.connect(partial(self.refresh, change_request=None))
connect_lambda(b.clicked, self, lambda self: self.refresh(change_request=None))
b = self.bb.addButton(_('&Undo last change'), self.bb.ActionRole)
b.setToolTip('<p>' + _('Undo the last spell check word replacement, if any'))
b.setIcon(QIcon(I('edit-undo.png')))

View File

@ -4,7 +4,6 @@
from __future__ import (unicode_literals, division, absolute_import,
print_function)
from functools import partial
from PyQt5.Qt import (
QWidget, QHBoxLayout, QVBoxLayout, QLabel, QComboBox, QPushButton, QIcon,
@ -127,10 +126,12 @@ class TextSearch(QWidget):
h.addStretch(10)
self.next_button = b = QPushButton(QIcon(I('arrow-down.png')), _('&Next'), self)
b.setToolTip(_('Find next match'))
h.addWidget(b), b.clicked.connect(partial(self.do_search, 'down'))
h.addWidget(b)
connect_lambda(b.clicked, self, lambda self: self.do_search('down'))
self.prev_button = b = QPushButton(QIcon(I('arrow-up.png')), _('&Previous'), self)
b.setToolTip(_('Find previous match'))
h.addWidget(b), b.clicked.connect(partial(self.do_search, 'up'))
h.addWidget(b)
connect_lambda(b.clicked, self, lambda self: self.do_search('up'))
state = tprefs.get('text_search_widget_state')
self.state = state or {}

View File

@ -570,7 +570,7 @@ class NamesModel(QAbstractListModel):
def create_filterable_names_list(names, filter_text=None, parent=None, model=NamesModel):
nl = QListView(parent)
nl.m = m = model(names, parent=nl)
m.filtered.connect(lambda all_items: nl.scrollTo(m.index(0)))
connect_lambda(m.filtered, nl, lambda nl, all_items: nl.scrollTo(m.index(0)))
nl.setModel(m)
if model is NamesModel:
nl.d = NamesDelegate(nl)