diff --git a/src/calibre/gui2/toc/main.py b/src/calibre/gui2/toc/main.py index 1d82314d0c..94aef6d9c2 100644 --- a/src/calibre/gui2/toc/main.py +++ b/src/calibre/gui2/toc/main.py @@ -610,8 +610,9 @@ class TreeWidget(QTreeWidget): # {{{ from calibre.gui2.tweak_book.file_list import get_bulk_rename_settings sort_map = {item:i for i, item in enumerate(self.iteritems())} items = sorted(self.selectedItems(), key=lambda x:sort_map.get(x, -1)) - fmt, num = get_bulk_rename_settings(self, len(items), prefix=_('Chapter '), msg=_( + settings = get_bulk_rename_settings(self, len(items), prefix=_('Chapter '), msg=_( 'All selected items will be renamed to the form prefix-number'), sanitize=lambda x:x, leading_zeros=False) + fmt, num = settings['prefix'], settings['start'] if fmt is not None and num is not None: self.push_history() for i, item in enumerate(items): diff --git a/src/calibre/gui2/tweak_book/file_list.py b/src/calibre/gui2/tweak_book/file_list.py index 56ac047696..6a67ef62e8 100644 --- a/src/calibre/gui2/tweak_book/file_list.py +++ b/src/calibre/gui2/tweak_book/file_list.py @@ -90,6 +90,7 @@ def get_bulk_rename_settings(parent, number, msg=None, sanitize=sanitize_file_na d.bb = bb = QDialogButtonBox(QDialogButtonBox.Ok | QDialogButtonBox.Cancel) bb.accepted.connect(d.accept), bb.rejected.connect(d.reject) l.addRow(bb) + ans = {'prefix': None, 'start': None} if d.exec_() == d.Accepted: prefix = sanitize(unicode(d.prefix.text())) @@ -100,8 +101,9 @@ def get_bulk_rename_settings(parent, number, msg=None, sanitize=sanitize_file_na if leading_zeros: largest = num + number - 1 fmt = '%0{0}d'.format(len(str(largest))) - return prefix + fmt, num - return None, None + ans['prefix'] = prefix + fmt + ans['start'] = num + return ans # }}} @@ -589,7 +591,8 @@ class FileList(QTreeWidget): names = self.request_rename_common() if names is not None: categories = Counter(unicode(item.data(0, CATEGORY_ROLE) or '') for item in self.selectedItems()) - fmt, num = get_bulk_rename_settings(self, len(names), category=categories.most_common(1)[0][0]) + settings = get_bulk_rename_settings(self, len(names), category=categories.most_common(1)[0][0]) + fmt, num = settings['prefix'], settings['start'] if fmt is not None: def change_name(name, num): parts = name.split('/')