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

Reply via email to