Philipp Hörist pushed to branch imprv-roster at gajim / gajim
Commits:
880030e2 by Philipp Hörist at 2023-04-24T00:13:38+02:00
imprv: GroupchatRoster: Don’t show participants if roster size is big
- - - - -
1 changed file:
- gajim/gtk/groupchat_roster.py
Changes:
=====================================
gajim/gtk/groupchat_roster.py
=====================================
@@ -100,6 +100,8 @@ def __init__(self) -> None:
self._modelfilter.set_visible_func(self._visible_func)
self._roster.set_has_tooltip(True)
+ self._is_big_roster = False
+
self._ui.contact_column.set_fixed_width(
app.settings.get('groupchat_roster_width'))
self._ui.contact_column.set_cell_data_func(self._ui.text_renderer,
@@ -222,6 +224,17 @@ def _visible_func(self,
) -> bool:
if not self._filter_string:
+ if not self._is_big_roster:
+ return True
+
+ if not model[iter_][Column.IS_CONTACT]:
+ return True
+
+ group_iter = model.iter_parent(iter_)
+ assert group_iter is not None
+ group_name = model[group_iter][Column.NICK_OR_GROUP]
+ if group_name in ('participant', 'visitor'):
+ return False
return True
if not model[iter_][Column.IS_CONTACT]:
@@ -539,10 +552,13 @@ def _load_roster(self) -> None:
for participant in self._contact.get_participants():
self._add_contact(participant)
+ self._is_big_roster = self._get_total_user_count() > 100
+
+ self._ui.search_entry.set_text('')
+ self._modelfilter.refilter()
self.enable_sort(True)
self._roster.set_model(self._modelfilter)
- self._ui.search_entry.set_text('')
self._roster.expand_all()
def _unload_roster(self) -> None:
@@ -557,6 +573,7 @@ def _unload_roster(self) -> None:
self._store.clear()
self.enable_sort(False)
+ self._is_big_roster = False
self._contact_refs = {}
self._group_refs = {}
View it on GitLab:
https://dev.gajim.org/gajim/gajim/-/commit/880030e22bf9395bc7391a05e01e9b3cef10bc81
--
View it on GitLab:
https://dev.gajim.org/gajim/gajim/-/commit/880030e22bf9395bc7391a05e01e9b3cef10bc81
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