Philipp Hörist pushed to branch mainwindow at gajim / gajim
Commits: f23b0d57 by lovetox at 2021-03-06T21:06:35+01:00 Roster: Refactor - - - - - ccaa24f9 by lovetox at 2021-03-06T21:30:45+01:00 Roster: Fix reset - - - - - 1 changed file: - gajim/gtk/roster.py Changes: ===================================== gajim/gtk/roster.py ===================================== @@ -85,6 +85,7 @@ def __init__(self, account): self.register_events([ ('account-connected', ged.CORE, self._on_account_state), ('account-disconnected', ged.CORE, self._on_account_state), + ('roster-received', ged.CORE, self._on_roster_received), ('theme-update', ged.GUI2, self._on_theme_update), ('roster-push', ged.GUI2, self._on_roster_push), ]) @@ -308,20 +309,24 @@ def _get_contact_visible(self, contact): return True - def set_model(self): + def _set_model(self): self._roster.set_model(self._modelfilter) - def redraw(self): + def _unset_model(self): self._roster.set_model(None) - self._roster.set_model(self._modelfilter) + + def redraw(self): + self._unset_model() + self._set_model() self._roster.expand_all() - def _reset(self): - self._roster.set_model(None) - self.enable_sort(False) + def _reset_roster(self): + self._unset_model() + self._enable_sort(False) + self._clear() self._initial_draw() - def enable_sort(self, enable): + def _enable_sort(self, enable): column = Gtk.TREE_SORTABLE_UNSORTED_SORT_COLUMN_ID if enable: column = Column.TEXT @@ -333,8 +338,8 @@ def _initial_draw(self): self._connect_contact_signals(contact) self._add_or_update_contact(contact) - self.enable_sort(True) - self.set_model() + self._enable_sort(True) + self._set_model() self._roster.expand_all() def _connect_contact_signals(self, contact): @@ -347,7 +352,7 @@ def _on_contact_update(self, contact, _signal_name): @event_filter(['account']) def _on_roster_received(self, _event): - self._reset() + self._reset_roster() @event_filter(['account']) def _on_roster_push(self, event): @@ -560,9 +565,9 @@ def _tree_compare_iters(self, model, iter1, iter2, _user_data): group2 = model[iter2][Column.JID_OR_GROUP] return -1 if group1 < group2 else 1 - def clear(self): - self._contact_refs = {} - self._group_refs = {} + def _clear(self): + self._contact_refs.clear() + self._group_refs.clear() self._store.clear() def process_event(self, event): @@ -571,9 +576,9 @@ def process_event(self, event): def _on_destroy(self, _roster): self._remove_actions() - self._contact_refs = {} - self._group_refs = {} - self._roster.set_model(None) + self._contact_refs.clear() + self._group_refs.clear() + self._unset_model() self._roster = None self._store.clear() self._store.reset_default_sort_func() View it on GitLab: https://dev.gajim.org/gajim/gajim/-/compare/e4dc7e3e729e69228427f1f1630d545ad264a8e9...ccaa24f9329077527ea3ad0a78ca0302c9fcb89f -- View it on GitLab: https://dev.gajim.org/gajim/gajim/-/compare/e4dc7e3e729e69228427f1f1630d545ad264a8e9...ccaa24f9329077527ea3ad0a78ca0302c9fcb89f You're receiving this email because of your account on dev.gajim.org.
_______________________________________________ Commits mailing list Commits@gajim.org https://lists.gajim.org/cgi-bin/listinfo/commits