mirror of
https://github.com/kovidgoyal/calibre.git
synced 2025-07-09 03:04:10 -04:00
Put back intermediate_nodes
With the changes to avg_rating it works ok
This commit is contained in:
parent
9b229f3951
commit
17edcc0686
@ -422,6 +422,7 @@ class TagsModel(QAbstractItemModel): # {{{
|
|||||||
sort_by = config['sort_tags_by']
|
sort_by = config['sort_tags_by']
|
||||||
|
|
||||||
eval_formatter = EvalFormatter()
|
eval_formatter = EvalFormatter()
|
||||||
|
intermediate_nodes = {}
|
||||||
|
|
||||||
if data is None:
|
if data is None:
|
||||||
print ('_create_node_tree: no data!')
|
print ('_create_node_tree: no data!')
|
||||||
@ -585,6 +586,7 @@ class TagsModel(QAbstractItemModel): # {{{
|
|||||||
if tag.id_set is not None:
|
if tag.id_set is not None:
|
||||||
n.id_set |= tag.id_set
|
n.id_set |= tag.id_set
|
||||||
category_child_map[tag.name, tag.category] = n
|
category_child_map[tag.name, tag.category] = n
|
||||||
|
intermediate_nodes[tag.original_name, tag.category] = tag
|
||||||
else:
|
else:
|
||||||
for i,comp in enumerate(components):
|
for i,comp in enumerate(components):
|
||||||
if i == 0:
|
if i == 0:
|
||||||
@ -601,19 +603,23 @@ class TagsModel(QAbstractItemModel): # {{{
|
|||||||
else:
|
else:
|
||||||
if i < len(components)-1:
|
if i < len(components)-1:
|
||||||
original_name = '.'.join(components[:i+1])
|
original_name = '.'.join(components[:i+1])
|
||||||
t = copy.copy(tag)
|
t = intermediate_nodes.get((original_name, tag.category), None)
|
||||||
t.original_name = original_name
|
if t is None:
|
||||||
t.count = 0
|
t = copy.copy(tag)
|
||||||
if key != 'search':
|
t.original_name = original_name
|
||||||
# This 'manufactured' intermediate node can
|
t.count = 0
|
||||||
# be searched, but cannot be edited.
|
if key != 'search':
|
||||||
t.is_editable = False
|
# This 'manufactured' intermediate node can
|
||||||
else:
|
# be searched, but cannot be edited.
|
||||||
t.is_searchable = t.is_editable = False
|
t.is_editable = False
|
||||||
|
else:
|
||||||
|
t.is_searchable = t.is_editable = False
|
||||||
|
intermediate_nodes[original_name, tag.category] = t
|
||||||
else:
|
else:
|
||||||
t = tag
|
t = tag
|
||||||
if not in_uc:
|
if not in_uc:
|
||||||
t.original_name = t.name
|
t.original_name = t.name
|
||||||
|
intermediate_nodes[t.original_name, t.category] = t
|
||||||
t.is_hierarchical = \
|
t.is_hierarchical = \
|
||||||
'5state' if t.category != 'search' else '3state'
|
'5state' if t.category != 'search' else '3state'
|
||||||
t.name = comp
|
t.name = comp
|
||||||
|
Loading…
x
Reference in New Issue
Block a user