def __references_changed__(self):
    old_refs = copy.deepcopy(self.references)
    
    self.references = []
    
    for ref_list in self.highlighter.references:
      for ref in ref_list:
        self.references.append(ref[0])
    
    self.references = make_unique(self.references)
    
    if not self.references == old_refs:
      self.refs_edited.emit()

### EOF ###
Exemplo n.º 2
0
def consolidate_tree_items(tree_items):
  
  if len(tree_items) == 0:
    return tree_items
  
  headers = []
  item_map = {}
  
  for item in tree_items:
    header = common.qt_to_unicode(item.text(0))
    headers.append(header)
    
    if not header in item_map:
      item_map[header] = []
    
    item_map[header].append(item)
  
  # We only want one of each header.
  headers = make_unique(headers)
  headers.sort()
  
  new_tree_items = []
  
  for header in headers:
    tree_item = QtGui.QTreeWidgetItem()
    tree_item.setText(0, header)
    
    children = []
    for item in item_map[header]:
      for index in range(item.childCount()):
        children.append(item.child(index))
    
    children = consolidate_tree_items(children)
    
    for child in children:
      tree_item.addChild(child)
    
    new_tree_items.append(tree_item)
  
  return new_tree_items