mirror of
https://github.com/kovidgoyal/calibre.git
synced 2026-03-10 20:03:41 -04:00
Fix copilot's code
This commit is contained in:
parent
deeb08929c
commit
4bdca872eb
@ -530,35 +530,31 @@ def create_defs():
|
||||
'light': {}, 'dark': {},
|
||||
}
|
||||
|
||||
# Migrate beta bookshelf_thumbnail
|
||||
if isinstance(btv := gprefs.get('bookshelf_thumbnail'), bool):
|
||||
gprefs['bookshelf_thumbnail'] = 'full' if btv else 'none'
|
||||
with gprefs:
|
||||
# Migrate beta bookshelf_thumbnail
|
||||
if isinstance(btv := gprefs.get('bookshelf_thumbnail'), bool):
|
||||
gprefs['bookshelf_thumbnail'] = 'full' if btv else 'none'
|
||||
|
||||
def migrate_tweak(tweak_name, pref_name):
|
||||
# If the tweak has been changed then leave the tweak in the file so
|
||||
# that the user can bounce between versions with and without the
|
||||
# migration. For versions before the migration the tweak wins. For
|
||||
# versions after the migration any changes win.
|
||||
v = tweaks.get(tweak_name, None)
|
||||
migrated_tweak_name = pref_name + '_tweak_migrated'
|
||||
m = gprefs.get(migrated_tweak_name, None)
|
||||
if m is None and v is not None:
|
||||
gprefs[pref_name] = v
|
||||
gprefs[migrated_tweak_name] = True
|
||||
migrate_tweak('metadata_edit_elide_labels', 'edit_metadata_elide_labels')
|
||||
migrate_tweak('metadata_edit_elision_point', 'edit_metadata_elision_point')
|
||||
migrate_tweak('metadata_edit_bulk_cc_label_length', 'edit_metadata_bulk_cc_label_length')
|
||||
migrate_tweak('metadata_edit_single_cc_label_length', 'edit_metadata_single_cc_label_length')
|
||||
migrate_tweak('metadata_single_use_2_cols_for_custom_fields', 'edit_metadata_single_use_2_cols_for_custom_fields')
|
||||
def migrate_tweak(tweak_name, pref_name):
|
||||
# If the tweak has been changed then leave the tweak in the file so
|
||||
# that the user can bounce between versions with and without the
|
||||
# migration. For versions before the migration the tweak wins. For
|
||||
# versions after the migration any changes win.
|
||||
v = tweaks.get(tweak_name, None)
|
||||
migrated_tweak_name = pref_name + '_tweak_migrated'
|
||||
m = gprefs.get(migrated_tweak_name, None)
|
||||
if m is None and v is not None:
|
||||
gprefs[pref_name] = v
|
||||
gprefs[migrated_tweak_name] = True
|
||||
migrate_tweak('metadata_edit_elide_labels', 'edit_metadata_elide_labels')
|
||||
migrate_tweak('metadata_edit_elision_point', 'edit_metadata_elision_point')
|
||||
migrate_tweak('metadata_edit_bulk_cc_label_length', 'edit_metadata_bulk_cc_label_length')
|
||||
migrate_tweak('metadata_edit_single_cc_label_length', 'edit_metadata_single_cc_label_length')
|
||||
migrate_tweak('metadata_single_use_2_cols_for_custom_fields', 'edit_metadata_single_use_2_cols_for_custom_fields')
|
||||
|
||||
# Migrate show_emblems and draw_emblems_on_cover to emblem_style
|
||||
show_emblems = gprefs.pop('show_emblems', None)
|
||||
draw_emblems_on_cover = gprefs.pop('draw_emblems_on_cover', None)
|
||||
if show_emblems is not None or draw_emblems_on_cover is not None:
|
||||
if show_emblems:
|
||||
gprefs['emblem_style'] = 'emboss' if draw_emblems_on_cover else 'gutter'
|
||||
else:
|
||||
gprefs['emblem_style'] = 'none'
|
||||
if gprefs.get('show_emblems'):
|
||||
gprefs['emblem_style'] = 'gutter'
|
||||
gprefs.pop('show_emblems', None)
|
||||
|
||||
|
||||
create_defs()
|
||||
|
||||
@ -732,7 +732,6 @@ class CoverDelegate(QStyledItemDelegate):
|
||||
|
||||
painter.save()
|
||||
right_adjust = 0
|
||||
emblem_rect = None
|
||||
try:
|
||||
rect = option.rect
|
||||
rect.adjust(self.MARGIN, self.MARGIN, -self.MARGIN, -self.MARGIN)
|
||||
@ -750,7 +749,6 @@ class CoverDelegate(QStyledItemDelegate):
|
||||
painter.drawText(rect, Qt.AlignmentFlag.AlignCenter|Qt.TextFlag.TextWordWrap, f'{title}\n\n{authors}')
|
||||
if self.title_height != 0:
|
||||
self.paint_title(painter, trect, db, book_id)
|
||||
emblem_rect = QRect(rect)
|
||||
else:
|
||||
if self.animating is not None and self.animating.row() == index.row():
|
||||
cover = cover.scaled(cover.size() * self._animated_size)
|
||||
@ -766,9 +764,8 @@ class CoverDelegate(QStyledItemDelegate):
|
||||
if self.flush_bottom:
|
||||
trect.setTop(rect.bottom() + 5)
|
||||
self.paint_title(painter, trect, db, book_id, align_top=self.flush_bottom)
|
||||
emblem_rect = QRect(rect)
|
||||
if self.original_emblem_style == 'emboss' and emblems:
|
||||
self.paint_emblems_on_cover(painter, emblem_rect, emblems)
|
||||
self.paint_emblems_on_cover(painter, rect, emblems)
|
||||
return
|
||||
if self.emblem_size > 0:
|
||||
# We don't draw embossed emblems as the ondevice/marked emblems are drawn in the gutter
|
||||
@ -838,10 +835,8 @@ class CoverDelegate(QStyledItemDelegate):
|
||||
painter.restore()
|
||||
|
||||
def paint_emblems_on_cover(self, painter, rect, emblems):
|
||||
esz = self.emblem_size
|
||||
if not esz:
|
||||
if not (esz := self.emblem_size):
|
||||
return
|
||||
margin = self.MARGIN
|
||||
r = gprefs['cover_corner_radius']
|
||||
if r > 0:
|
||||
if gprefs['cover_corner_radius_unit'] == '%':
|
||||
@ -850,23 +845,29 @@ class CoverDelegate(QStyledItemDelegate):
|
||||
corner_inset = int(r)
|
||||
else:
|
||||
corner_inset = 0
|
||||
available_height = rect.height() - corner_inset
|
||||
max_per_edge = max(1, available_height // (esz + margin))
|
||||
with painter:
|
||||
margin = self.MARGIN
|
||||
rect = rect.adjusted(corner_inset, corner_inset, -corner_inset, -corner_inset - margin)
|
||||
available_height = rect.height()
|
||||
sz_with_margin = esz + margin
|
||||
max_per_edge = max(1, available_height // sz_with_margin)
|
||||
painter.save()
|
||||
try:
|
||||
painter.setClipRect(rect)
|
||||
for i, emblem in enumerate(emblems):
|
||||
if i < max_per_edge:
|
||||
x = rect.left() + margin
|
||||
y = rect.top() + corner_inset + i * (esz + margin)
|
||||
x = rect.left()
|
||||
y = rect.top() + i * sz_with_margin
|
||||
else:
|
||||
j = i - max_per_edge
|
||||
if j >= max_per_edge:
|
||||
break
|
||||
x = rect.right() - esz - margin
|
||||
y = rect.top() + corner_inset + j * (esz + margin)
|
||||
x = rect.right() - esz
|
||||
y = rect.top() + j * sz_with_margin
|
||||
ew = int(emblem.width() / emblem.devicePixelRatio())
|
||||
eh = int(emblem.height() / emblem.devicePixelRatio())
|
||||
painter.drawPixmap(QRect(x, y, ew, eh), emblem)
|
||||
finally:
|
||||
painter.restore()
|
||||
|
||||
def paint_embossed_emblem(self, pixmap, painter, orect, right_adjust, left=True):
|
||||
drect = QRect(orect)
|
||||
|
||||
@ -1180,16 +1180,6 @@ class EditRules(QWidget): # {{{
|
||||
'<p>You can <b>change an existing rule</b> by double clicking it.')
|
||||
self.l1.setText('<p>'+ text)
|
||||
match pref_name:
|
||||
case 'cover_grid_icon_rules':
|
||||
self.enabled.setVisible(True)
|
||||
self.enabled.setChecked(gprefs['show_emblems'])
|
||||
self.enabled.setText(_('Show &emblems next to the covers'))
|
||||
self.enabled.stateChanged.connect(self.enabled_toggled)
|
||||
self.enabled.setToolTip(_(
|
||||
'If checked, you can tell calibre to display icons of your choosing'
|
||||
' next to the covers shown in the Cover grid, controlled by the'
|
||||
' metadata of the book.'))
|
||||
self.enabled_toggled()
|
||||
case 'bookshelf_icon_rules':
|
||||
self.choices_label.setVisible(True)
|
||||
self.choices.setVisible(True)
|
||||
|
||||
@ -39,9 +39,10 @@ class CoverGridTab(QTabWidget, LazyConfigWidgetBase, Ui_cover_grid_tab):
|
||||
r('emblem_position', gprefs, choices=[
|
||||
(_('Left'), 'left'), (_('Top'), 'top'), (_('Right'), 'right'), (_('Bottom'), 'bottom')])
|
||||
r('emblem_style', gprefs, choices=[
|
||||
(_('Do not show emblems'), 'none'),
|
||||
(_('Show in a gutter next to the cover'), 'gutter'),
|
||||
(_('Draw on the cover'), 'emboss')])
|
||||
(_('No emblems'), 'none'),
|
||||
(_('Show next to cover'), 'gutter'),
|
||||
(_('Show on top of cover'), 'emboss')
|
||||
])
|
||||
|
||||
fm = db.field_metadata
|
||||
choices = sorted((('{} ({})'.format(fm[k]['name'], k), k) for k in fm.displayable_field_keys() if fm[k]['name']),
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user