mirror of
https://github.com/kovidgoyal/calibre.git
synced 2025-08-30 23:00:21 -04:00
Merge branch 'master' of https://github.com/cbhaley/calibre
This commit is contained in:
commit
5422e0a7f9
@ -1228,6 +1228,9 @@ class TagsModel(QAbstractItemModel): # {{{
|
||||
order = {'*': 1000}
|
||||
defvalue = order.get('*', 1000)
|
||||
self.row_map.sort(key=lambda x: order.get(x, defvalue))
|
||||
# Migrate the tweak to the new pref. First, make sure the order is valid
|
||||
self.row_map = self.get_ordered_categories(pref_data_override=[[k,None] for k in self.row_map])
|
||||
self.db.new_api.set_pref('tag_browser_category_order', self.row_map)
|
||||
return data
|
||||
|
||||
def set_categories_filter(self, txt):
|
||||
|
@ -222,10 +222,8 @@ def create_toplevel_tree(category_data, items, field_metadata, opts, db):
|
||||
last_category_node, category_node_map, root = None, {}, {'id':None, 'children':[]}
|
||||
node_id_map = {}
|
||||
category_nodes, recount_nodes = [], []
|
||||
order = db.pref('tag_browser_category_order') or {}
|
||||
defvalue = order.get('*', 100)
|
||||
categories = [category for category in field_metadata if category in category_data]
|
||||
scats = sorted(categories, key=lambda x: order.get(x, defvalue))
|
||||
scats = db.pref('tag_browser_category_order', [k for k in category_data])
|
||||
scats = [k for k in scats if k in field_metadata]
|
||||
|
||||
for category in scats:
|
||||
is_user_category = category.startswith('@')
|
||||
@ -361,6 +359,9 @@ def process_category_node(
|
||||
opts, tag_map, hierarchical_tags, node_to_tag_map, collapse_nodes,
|
||||
intermediate_nodes, hierarchical_items):
|
||||
category = items[category_node['id']]['category']
|
||||
if category not in category_data:
|
||||
# This can happen for user categories that are hierarchical and missing their parent.
|
||||
return
|
||||
category_items = category_data[category]
|
||||
cat_len = len(category_items)
|
||||
if cat_len <= 0:
|
||||
|
Loading…
x
Reference in New Issue
Block a user