mirror of
https://github.com/kovidgoyal/calibre.git
synced 2025-06-23 15:30:45 -04:00
Bulk metadata edit: Fix clearing of series and publishers
Bulk metadata edit: Only clear series if the clear series checkbox is checked. Also add a clear checkbox for publishers, so that publishers can be removed. Fixes #1245058 [Calibre is deleting Series field even when it's not being modified](https://bugs.launchpad.net/calibre/+bug/1245058)
This commit is contained in:
parent
059e28e867
commit
b50168bbe9
@ -56,7 +56,7 @@ def get_cover_data(stream, ext): # {{{
|
|||||||
|
|
||||||
Settings = namedtuple('Settings', 'remove_all remove add au aus do_aus rating pub do_series do_autonumber do_remove_format '
|
Settings = namedtuple('Settings', 'remove_all remove add au aus do_aus rating pub do_series do_autonumber do_remove_format '
|
||||||
'remove_format do_swap_ta do_remove_conv do_auto_author series do_series_restart series_start_value '
|
'remove_format do_swap_ta do_remove_conv do_auto_author series do_series_restart series_start_value '
|
||||||
'do_title_case cover_action clear_series pubdate adddate do_title_sort languages clear_languages restore_original comments')
|
'do_title_case cover_action clear_series clear_pub pubdate adddate do_title_sort languages clear_languages restore_original comments')
|
||||||
null = object()
|
null = object()
|
||||||
|
|
||||||
class MyBlockingBusy(QDialog): # {{{
|
class MyBlockingBusy(QDialog): # {{{
|
||||||
@ -240,6 +240,9 @@ class MyBlockingBusy(QDialog): # {{{
|
|||||||
if args.rating != -1:
|
if args.rating != -1:
|
||||||
cache.set_field('rating', {bid:args.rating*2 for bid in self.ids})
|
cache.set_field('rating', {bid:args.rating*2 for bid in self.ids})
|
||||||
|
|
||||||
|
if args.clear_pub:
|
||||||
|
cache.set_field('publisher', {bid:'' for bid in self.ids})
|
||||||
|
|
||||||
if args.pub:
|
if args.pub:
|
||||||
cache.set_field('publisher', {bid:args.pub for bid in self.ids})
|
cache.set_field('publisher', {bid:args.pub for bid in self.ids})
|
||||||
|
|
||||||
@ -957,6 +960,7 @@ class MetadataBulkDialog(ResizableDialog, Ui_MetadataBulkDialog):
|
|||||||
pub = unicode(self.publisher.text())
|
pub = unicode(self.publisher.text())
|
||||||
do_series = self.write_series
|
do_series = self.write_series
|
||||||
clear_series = self.clear_series.isChecked()
|
clear_series = self.clear_series.isChecked()
|
||||||
|
clear_pub = self.clear_pub.isChecked()
|
||||||
series = unicode(self.series.currentText()).strip()
|
series = unicode(self.series.currentText()).strip()
|
||||||
do_autonumber = self.autonumber_series.isChecked()
|
do_autonumber = self.autonumber_series.isChecked()
|
||||||
do_series_restart = self.series_numbering_restarts.isChecked()
|
do_series_restart = self.series_numbering_restarts.isChecked()
|
||||||
@ -992,7 +996,7 @@ class MetadataBulkDialog(ResizableDialog, Ui_MetadataBulkDialog):
|
|||||||
args = Settings(remove_all, remove, add, au, aus, do_aus, rating, pub, do_series,
|
args = Settings(remove_all, remove, add, au, aus, do_aus, rating, pub, do_series,
|
||||||
do_autonumber, do_remove_format, remove_format, do_swap_ta,
|
do_autonumber, do_remove_format, remove_format, do_swap_ta,
|
||||||
do_remove_conv, do_auto_author, series, do_series_restart,
|
do_remove_conv, do_auto_author, series, do_series_restart,
|
||||||
series_start_value, do_title_case, cover_action, clear_series,
|
series_start_value, do_title_case, cover_action, clear_series, clear_pub,
|
||||||
pubdate, adddate, do_title_sort, languages, clear_languages,
|
pubdate, adddate, do_title_sort, languages, clear_languages,
|
||||||
restore_original, self.comments)
|
restore_original, self.comments)
|
||||||
|
|
||||||
@ -1023,7 +1027,7 @@ class MetadataBulkDialog(ResizableDialog, Ui_MetadataBulkDialog):
|
|||||||
return QDialog.accept(self)
|
return QDialog.accept(self)
|
||||||
|
|
||||||
def series_changed(self, *args):
|
def series_changed(self, *args):
|
||||||
self.write_series = True
|
self.write_series = bool(unicode(self.series.currentText()).strip())
|
||||||
self.autonumber_series.setEnabled(True)
|
self.autonumber_series.setEnabled(True)
|
||||||
|
|
||||||
def s_r_remove_query(self, *args):
|
def s_r_remove_query(self, *args):
|
||||||
|
@ -662,6 +662,16 @@ as that of the first selected book.</string>
|
|||||||
</property>
|
</property>
|
||||||
</widget>
|
</widget>
|
||||||
</item>
|
</item>
|
||||||
|
<item row="4" column="2">
|
||||||
|
<widget class="QCheckBox" name="clear_pub">
|
||||||
|
<property name="toolTip">
|
||||||
|
<string>If checked, the publisher will be cleared</string>
|
||||||
|
</property>
|
||||||
|
<property name="text">
|
||||||
|
<string>&Clear pub</string>
|
||||||
|
</property>
|
||||||
|
</widget>
|
||||||
|
</item>
|
||||||
</layout>
|
</layout>
|
||||||
</widget>
|
</widget>
|
||||||
<widget class="QWidget" name="tab">
|
<widget class="QWidget" name="tab">
|
||||||
|
Loading…
x
Reference in New Issue
Block a user