- if not item['__path'][0] in buffer_nicklist:
- self.buffers[index[0]].remove_all_nicks()
- buffer_nicklist[item['__path'][0]] = True
- if not item['group'] and item['visible']:
- self.buffers[index[0]].add_nick(item['prefix'], item['name'])
+ buffer_refresh[index[0]] = True
+ if item['_diff'] == ord('^'):
+ group = item['name']
+ elif item['_diff'] == ord('+'):
+ self.buffers[index[0]].nicklist_add_item(group, item['group'], item['prefix'], item['name'], item['visible'])
+ elif item['_diff'] == ord('-'):
+ self.buffers[index[0]].nicklist_remove_item(group, item['group'], item['name'])
+ elif item['_diff'] == ord('*'):
+ self.buffers[index[0]].nicklist_update_item(group, item['group'], item['prefix'], item['name'], item['visible'])
+ for index in buffer_refresh:
+ self.buffers[index].nicklist_refresh()