mirror of
https://github.com/kovidgoyal/calibre.git
synced 2025-07-08 18:54:09 -04:00
Show the languages currently used at the top of the drop down list of languages
This commit is contained in:
parent
4b0a076a7f
commit
a617d772e4
@ -335,6 +335,7 @@ class MetadataBulkDialog(ResizableDialog, Ui_MetadataBulkDialog):
|
||||
geom = gprefs.get('bulk_metadata_window_geometry', None)
|
||||
if geom is not None:
|
||||
self.restoreGeometry(bytes(geom))
|
||||
self.languages.init_langs(self.db)
|
||||
self.languages.setEditText('')
|
||||
self.exec_()
|
||||
|
||||
|
@ -13,7 +13,7 @@ from calibre.utils.icu import sort_key, lower
|
||||
|
||||
class LanguagesEdit(MultiCompleteComboBox):
|
||||
|
||||
def __init__(self, parent=None):
|
||||
def __init__(self, parent=None, db=None):
|
||||
MultiCompleteComboBox.__init__(self, parent)
|
||||
|
||||
self.setSizeAdjustPolicy(self.AdjustToMinimumContentsLengthWithIcon)
|
||||
@ -23,9 +23,14 @@ class LanguagesEdit(MultiCompleteComboBox):
|
||||
self.comma_map = {k:k.replace(',', '|') for k in self.names_with_commas}
|
||||
self.comma_rmap = {v:k for k, v in self.comma_map.iteritems()}
|
||||
self._rmap = {lower(v):k for k,v in self._lang_map.iteritems()}
|
||||
if db is not None:
|
||||
self.init_langs(db)
|
||||
|
||||
def init_langs(self, db):
|
||||
pmap = {self._lang_map.get(x[1], x[1]):1 for x in
|
||||
db.get_languages_with_ids()}
|
||||
all_items = sorted(self._lang_map.itervalues(),
|
||||
key=sort_key)
|
||||
key=lambda x: (-pmap.get(x, 0), sort_key(x)))
|
||||
self.update_items_cache(all_items)
|
||||
for item in all_items:
|
||||
self.addItem(item)
|
||||
|
@ -233,7 +233,8 @@ class CompleteDelegate(QStyledItemDelegate): # {{{
|
||||
class LanguagesDelegate(QStyledItemDelegate): # {{{
|
||||
|
||||
def createEditor(self, parent, option, index):
|
||||
editor = LanguagesEdit(parent)
|
||||
editor = LanguagesEdit(parent=parent)
|
||||
editor.init_langs(index.model().db)
|
||||
ct = index.data(Qt.DisplayRole).toString()
|
||||
editor.setEditText(ct)
|
||||
editor.lineEdit().selectAll()
|
||||
|
@ -1163,6 +1163,7 @@ class LanguagesEdit(LE): # {{{
|
||||
return property(fget=fget, fset=fset)
|
||||
|
||||
def initialize(self, db, id_):
|
||||
self.init_langs(db)
|
||||
lc = []
|
||||
langs = db.languages(id_, index_is_id=True)
|
||||
if langs:
|
||||
|
Loading…
x
Reference in New Issue
Block a user