diff --git a/src/calibre/gui2/tweak_book/file_list.py b/src/calibre/gui2/tweak_book/file_list.py
index 375d13cc41..3948e179d7 100644
--- a/src/calibre/gui2/tweak_book/file_list.py
+++ b/src/calibre/gui2/tweak_book/file_list.py
@@ -53,13 +53,20 @@ def name_is_ok(name, show_error):
show_error('')
return True
-def get_bulk_rename_settings(parent, number, msg=None, sanitize=sanitize_file_name_unicode, leading_zeros=True, prefix=None): # {{{
+def get_bulk_rename_settings(parent, number, msg=None, sanitize=sanitize_file_name_unicode, leading_zeros=True, prefix=None, category='text'): # {{{
d = QDialog(parent)
d.setWindowTitle(_('Bulk rename items'))
d.l = l = QFormLayout(d)
d.setLayout(l)
d.prefix = p = QLineEdit(d)
- p.setText(prefix or _('Chapter-'))
+ default_prefixes = {
+ 'images': _('Image-'),
+ 'styles': _('Style-'),
+ 'fonts': _('Font-'),
+ 'text': _('Chapter-'),
+ 'misc': _('Misc-')
+ }
+ p.setText(prefix or default_prefixes.get(category))
p.selectAll()
d.la = la = QLabel(msg or _(
'All selected files will be renamed to the form prefix-number'))
@@ -517,12 +524,16 @@ class FileList(QTreeWidget):
' internal structures of the original file.') % current_container().book_type.upper(), show=True)
return
names = {unicode(item.data(0, NAME_ROLE) or '') for item in self.selectedItems()}
+ categories = {unicode(item.data(0, CATEGORY_ROLE) or '') for item in self.selectedItems()}
+ if len(categories) > 1:
+ return error_dialog(self, _('Cannot rename'),
+ _('The file(s) %s cannot be renamed because they are of different types.') % ('%s' % ', '.join(names)), show=True)
bad = names & current_container().names_that_must_not_be_changed
if bad:
return error_dialog(self, _('Cannot rename'),
_('The file(s) %s cannot be renamed.') % ('%s' % ', '.join(bad)), show=True)
names = sorted(names, key=self.index_of_name)
- fmt, num = get_bulk_rename_settings(self, len(names))
+ fmt, num = get_bulk_rename_settings(self, len(names), category=categories.pop())
if fmt is not None:
def change_name(name, num):
parts = name.split('/')
@@ -853,4 +864,3 @@ class FileListWidget(QWidget):
if name in self.forwarded_signals:
return getattr(self.file_list, name)
return QWidget.__getattr__(self, name)
-