mirror of
https://github.com/kovidgoyal/calibre.git
synced 2025-07-09 03:04:10 -04:00
Fix custom title sort set in the edit metadata dialog getting reset by the conversion dialog
This commit is contained in:
parent
eed76c2e36
commit
59d270e5c6
@ -12,8 +12,8 @@ from PyQt4.Qt import QPixmap, SIGNAL
|
|||||||
|
|
||||||
from calibre.gui2 import choose_images, error_dialog
|
from calibre.gui2 import choose_images, error_dialog
|
||||||
from calibre.gui2.convert.metadata_ui import Ui_Form
|
from calibre.gui2.convert.metadata_ui import Ui_Form
|
||||||
from calibre.ebooks.metadata import authors_to_string, string_to_authors, \
|
from calibre.ebooks.metadata import (authors_to_string, string_to_authors,
|
||||||
MetaInformation
|
MetaInformation, title_sort)
|
||||||
from calibre.ebooks.metadata.opf2 import metadata_to_opf
|
from calibre.ebooks.metadata.opf2 import metadata_to_opf
|
||||||
from calibre.ptempfile import PersistentTemporaryFile
|
from calibre.ptempfile import PersistentTemporaryFile
|
||||||
from calibre.gui2.convert import Widget
|
from calibre.gui2.convert import Widget
|
||||||
@ -230,9 +230,19 @@ class MetadataWidget(Widget, Ui_Form):
|
|||||||
Both may be None. Also returns a recommendation dictionary.
|
Both may be None. Also returns a recommendation dictionary.
|
||||||
'''
|
'''
|
||||||
recs = self.commit_options(save_defaults)
|
recs = self.commit_options(save_defaults)
|
||||||
self.user_mi = self.get_metadata()
|
self.user_mi = mi = self.get_metadata()
|
||||||
self.cover_file = self.opf_file = None
|
self.cover_file = self.opf_file = None
|
||||||
if self.db is not None:
|
if self.db is not None:
|
||||||
|
if mi.title == self.db.title(self.book_id, index_is_id=True):
|
||||||
|
mi.title_sort = self.db.title_sort(self.book_id, index_is_id=True)
|
||||||
|
else:
|
||||||
|
# Regenerate title sort taking into account book language
|
||||||
|
languages = self.db.languages(self.book_id, index_is_id=True)
|
||||||
|
if languages:
|
||||||
|
lang = languages.split(',')[0]
|
||||||
|
else:
|
||||||
|
lang = None
|
||||||
|
mi.title_sort = title_sort(mi.title, lang=lang)
|
||||||
self.db.set_metadata(self.book_id, self.user_mi)
|
self.db.set_metadata(self.book_id, self.user_mi)
|
||||||
self.mi, self.opf_file = create_opf_file(self.db, self.book_id)
|
self.mi, self.opf_file = create_opf_file(self.db, self.book_id)
|
||||||
if self.cover_changed and self.cover_data is not None:
|
if self.cover_changed and self.cover_data is not None:
|
||||||
|
Loading…
x
Reference in New Issue
Block a user