Philipp Hörist pushed to branch mainwindow at gajim / gajim

Commits:

1 changed file:

Changes:

  • gajim/gtk/roster.py
    ... ... @@ -85,6 +85,7 @@ def __init__(self, account):
    85 85
             self.register_events([
    
    86 86
                 ('account-connected', ged.CORE, self._on_account_state),
    
    87 87
                 ('account-disconnected', ged.CORE, self._on_account_state),
    
    88
    +            ('roster-received', ged.CORE, self._on_roster_received),
    
    88 89
                 ('theme-update', ged.GUI2, self._on_theme_update),
    
    89 90
                 ('roster-push', ged.GUI2, self._on_roster_push),
    
    90 91
             ])
    
    ... ... @@ -308,20 +309,24 @@ def _get_contact_visible(self, contact):
    308 309
     
    
    309 310
             return True
    
    310 311
     
    
    311
    -    def set_model(self):
    
    312
    +    def _set_model(self):
    
    312 313
             self._roster.set_model(self._modelfilter)
    
    313 314
     
    
    314
    -    def redraw(self):
    
    315
    +    def _unset_model(self):
    
    315 316
             self._roster.set_model(None)
    
    316
    -        self._roster.set_model(self._modelfilter)
    
    317
    +
    
    318
    +    def redraw(self):
    
    319
    +        self._unset_model()
    
    320
    +        self._set_model()
    
    317 321
             self._roster.expand_all()
    
    318 322
     
    
    319
    -    def _reset(self):
    
    320
    -        self._roster.set_model(None)
    
    321
    -        self.enable_sort(False)
    
    323
    +    def _reset_roster(self):
    
    324
    +        self._unset_model()
    
    325
    +        self._enable_sort(False)
    
    326
    +        self._clear()
    
    322 327
             self._initial_draw()
    
    323 328
     
    
    324
    -    def enable_sort(self, enable):
    
    329
    +    def _enable_sort(self, enable):
    
    325 330
             column = Gtk.TREE_SORTABLE_UNSORTED_SORT_COLUMN_ID
    
    326 331
             if enable:
    
    327 332
                 column = Column.TEXT
    
    ... ... @@ -333,8 +338,8 @@ def _initial_draw(self):
    333 338
                 self._connect_contact_signals(contact)
    
    334 339
                 self._add_or_update_contact(contact)
    
    335 340
     
    
    336
    -        self.enable_sort(True)
    
    337
    -        self.set_model()
    
    341
    +        self._enable_sort(True)
    
    342
    +        self._set_model()
    
    338 343
             self._roster.expand_all()
    
    339 344
     
    
    340 345
         def _connect_contact_signals(self, contact):
    
    ... ... @@ -347,7 +352,7 @@ def _on_contact_update(self, contact, _signal_name):
    347 352
     
    
    348 353
         @event_filter(['account'])
    
    349 354
         def _on_roster_received(self, _event):
    
    350
    -        self._reset()
    
    355
    +        self._reset_roster()
    
    351 356
     
    
    352 357
         @event_filter(['account'])
    
    353 358
         def _on_roster_push(self, event):
    
    ... ... @@ -560,9 +565,9 @@ def _tree_compare_iters(self, model, iter1, iter2, _user_data):
    560 565
             group2 = model[iter2][Column.JID_OR_GROUP]
    
    561 566
             return -1 if group1 < group2 else 1
    
    562 567
     
    
    563
    -    def clear(self):
    
    564
    -        self._contact_refs = {}
    
    565
    -        self._group_refs = {}
    
    568
    +    def _clear(self):
    
    569
    +        self._contact_refs.clear()
    
    570
    +        self._group_refs.clear()
    
    566 571
             self._store.clear()
    
    567 572
     
    
    568 573
         def process_event(self, event):
    
    ... ... @@ -571,9 +576,9 @@ def process_event(self, event):
    571 576
     
    
    572 577
         def _on_destroy(self, _roster):
    
    573 578
             self._remove_actions()
    
    574
    -        self._contact_refs = {}
    
    575
    -        self._group_refs = {}
    
    576
    -        self._roster.set_model(None)
    
    579
    +        self._contact_refs.clear()
    
    580
    +        self._group_refs.clear()
    
    581
    +        self._unset_model()
    
    577 582
             self._roster = None
    
    578 583
             self._store.clear()
    
    579 584
             self._store.reset_default_sort_func()