Fix #1388651 [[Enhancement] change TOC Auto-Rename mask](https://bugs.launchpad.net/calibre/+bug/1388651)

This commit is contained in:
Kovid Goyal 2014-11-13 16:14:12 +05:30
parent 1163fe6281
commit 37b6236b19
2 changed files with 7 additions and 5 deletions

View File

@ -509,10 +509,11 @@ class TreeWidget(QTreeWidget): # {{{
from calibre.gui2.tweak_book.file_list import get_bulk_rename_settings from calibre.gui2.tweak_book.file_list import get_bulk_rename_settings
sort_map = {item:i for i, item in enumerate(self.iteritems())} sort_map = {item:i for i, item in enumerate(self.iteritems())}
items = sorted(self.selectedItems(), key=lambda x:sort_map.get(x, -1)) items = sorted(self.selectedItems(), key=lambda x:sort_map.get(x, -1))
fmt, num = get_bulk_rename_settings(self, len(items), msg=_( fmt, num = 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) 'All selected items will be renamed to the form prefix-number'), sanitize=lambda x:x, leading_zeros=False)
for i, item in enumerate(items): if fmt is not None and num is not None:
item.setData(0, Qt.DisplayRole, fmt % (num + i)) for i, item in enumerate(items):
item.setData(0, Qt.DisplayRole, fmt % (num + i))
def keyPressEvent(self, ev): def keyPressEvent(self, ev):
if ev.key() == Qt.Key_Left and ev.modifiers() & Qt.CTRL: if ev.key() == Qt.Key_Left and ev.modifiers() & Qt.CTRL:

View File

@ -53,12 +53,13 @@ def name_is_ok(name, show_error):
show_error('') show_error('')
return True return True
def get_bulk_rename_settings(parent, number, msg=None, sanitize=sanitize_file_name_unicode, leading_zeros=True): # {{{ def get_bulk_rename_settings(parent, number, msg=None, sanitize=sanitize_file_name_unicode, leading_zeros=True, prefix=None): # {{{
d = QDialog(parent) d = QDialog(parent)
d.setWindowTitle(_('Bulk rename items'))
d.l = l = QFormLayout(d) d.l = l = QFormLayout(d)
d.setLayout(l) d.setLayout(l)
d.prefix = p = QLineEdit(d) d.prefix = p = QLineEdit(d)
p.setText(_('Chapter-')) p.setText(prefix or _('Chapter-'))
p.selectAll() p.selectAll()
d.la = la = QLabel(msg or _( d.la = la = QLabel(msg or _(
'All selected files will be renamed to the form prefix-number')) 'All selected files will be renamed to the form prefix-number'))