Bulk metadata edit: Allow changing the series index increment when force numbering a series

This commit is contained in:
Kovid Goyal 2015-12-07 00:05:23 +05:30
parent a3abdce095
commit 2e765455f5
2 changed files with 28 additions and 7 deletions

View File

@ -55,7 +55,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 '
'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 series_increment '
'do_title_case cover_action clear_series clear_pub pubdate adddate do_title_sort languages clear_languages restore_original comments')
null = object()
@ -253,7 +253,7 @@ class MyBlockingBusy(QDialog): # {{{
else:
def next_series_num(bid, i):
if args.do_series_restart:
return sval + i
return sval + (i * args.series_increment)
next_num = _get_next_series_num_for_list(sorted(sval.itervalues()), unwrap=False)
sval[bid] = next_num
return next_num
@ -918,14 +918,15 @@ class MetadataBulkDialog(ResizableDialog, Ui_MetadataBulkDialog):
self.remove_tags.update_items_cache(self.db.all_tags())
def auto_number_changed(self, state):
self.series_start_number.setEnabled(bool(state))
self.series_increment.setEnabled(bool(state))
if state:
self.series_numbering_restarts.setEnabled(True)
self.series_start_number.setEnabled(True)
else:
self.series_numbering_restarts.setEnabled(False)
self.series_numbering_restarts.setChecked(False)
self.series_start_number.setEnabled(False)
self.series_start_number.setValue(1.0)
self.series_increment.setValue(1.0)
def reject(self):
self.save_state()
@ -969,6 +970,7 @@ class MetadataBulkDialog(ResizableDialog, Ui_MetadataBulkDialog):
do_autonumber = self.autonumber_series.isChecked()
do_series_restart = self.series_numbering_restarts.isChecked()
series_start_value = self.series_start_number.value()
series_increment = self.series_increment.value()
do_remove_format = self.remove_format.currentIndex() > -1
remove_format = unicode(self.remove_format.currentText())
do_swap_ta = self.swap_title_and_author.isChecked()
@ -1000,7 +1002,7 @@ class MetadataBulkDialog(ResizableDialog, Ui_MetadataBulkDialog):
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_remove_conv, do_auto_author, series, do_series_restart,
series_start_value, do_title_case, cover_action, clear_series, clear_pub,
series_start_value, series_increment, do_title_case, cover_action, clear_series, clear_pub,
pubdate, adddate, do_title_sort, languages, clear_languages,
restore_original, self.comments)

View File

@ -401,6 +401,25 @@ from the value in the box</string>
</property>
</widget>
</item>
<item>
<widget class="QDoubleSpinBox" name="series_increment">
<property name="enabled">
<bool>false</bool>
</property>
<property name="toolTip">
<string>The amount by which to increment the series number for successive books. Only applicable when using force series numbers.</string>
</property>
<property name="prefix">
<string>+ </string>
</property>
<property name="minimum">
<double>0.010000000000000</double>
</property>
<property name="value">
<double>1.000000000000000</double>
</property>
</widget>
</item>
</layout>
</item>
<item row="9" column="0">
@ -1173,8 +1192,8 @@ not multiple and the destination field is multiple</string>
<rect>
<x>0</x>
<y>0</y>
<width>212</width>
<height>66</height>
<width>922</width>
<height>244</height>
</rect>
</property>
<layout class="QGridLayout" name="testgrid">