This commit is contained in:
Kovid Goyal 2022-08-26 16:19:05 +05:30
commit 5422e0a7f9
No known key found for this signature in database
GPG Key ID: 06BC317B515ACE7C
2 changed files with 8 additions and 4 deletions

View File

@ -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):

View File

@ -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: