More lambda slots

This commit is contained in:
Kovid Goyal 2018-07-26 12:58:33 +05:30
parent fd6fd77167
commit c1c0d43624
No known key found for this signature in database
GPG Key ID: 06BC317B515ACE7C
3 changed files with 21 additions and 13 deletions

View File

@ -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
# }}}

View File

@ -7,7 +7,6 @@ __license__ = 'GPL v3'
__copyright__ = '2013, Kovid Goyal <kovid at kovidgoyal.net>'
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])

View File

@ -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