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
[email protected]
https://lists.gajim.org/cgi-bin/listinfo/commits