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


Commits:
3b6c82b9 by Philipp Hörist at 2023-06-06T15:04:39+02:00
refactor: Use contact signals instead of event signals

- - - - -


2 changed files:

- gajim/gtk/chat_banner.py
- gajim/gtk/groupchat_details.py


Changes:

=====================================
gajim/gtk/chat_banner.py
=====================================
@@ -30,7 +30,6 @@
 from gajim.common.events import AccountEnabled
 from gajim.common.events import BookmarksReceived
 from gajim.common.events import MessageReceived
-from gajim.common.events import MucDiscoUpdate
 from gajim.common.ged import EventHelper
 from gajim.common.helpers import generate_qr_code
 from gajim.common.i18n import _
@@ -91,7 +90,6 @@ def switch_contact(self, contact: types.ChatContactT) -> None:
         if not self.has_events_registered():
             self.register_events([
                 ('message-received', ged.GUI2, self._on_message_received),
-                ('muc-disco-update', ged.GUI2, self._on_muc_disco_update),
                 ('bookmarks-received', ged.GUI2, self._on_bookmarks_received),
                 ('account-enabled', ged.GUI2, self._on_account_changed),
                 ('account-disabled', ged.GUI2, self._on_account_changed)
@@ -125,7 +123,8 @@ def _connect_signals(self) -> None:
             self._contact.multi_connect({
                 'user-role-changed': self._on_user_role_changed,
                 'state-changed': self._on_muc_state_changed,
-                'room-voice-request': self._on_room_voice_request
+                'room-voice-request': self._on_room_voice_request,
+                'disco-info-update': self._on_disco_info_update,
             })
 
         elif isinstance(self._contact, GroupchatParticipant):
@@ -215,10 +214,10 @@ def _on_bookmarks_received(self, _event: 
BookmarksReceived) -> None:
 
         self._update_name_label()
 
-    def _on_muc_disco_update(self, event: MucDiscoUpdate) -> None:
-        assert self._contact is not None
-        if event.jid != self._contact.jid:
-            return
+    def _on_disco_info_update(self,
+                              _contact: GroupchatContact,
+                              _signal_name: str
+                              ) -> None:
 
         self._update_name_label()
         self._update_description_label()


=====================================
gajim/gtk/groupchat_details.py
=====================================
@@ -19,11 +19,9 @@
 from gi.repository import Gtk
 
 from gajim.common import app
-from gajim.common import ged
 from gajim.common import types
 from gajim.common.const import AvatarSize
 from gajim.common.const import SimpleClientState
-from gajim.common.events import MucDiscoUpdate
 from gajim.common.i18n import _
 from gajim.common.modules.contacts import GroupchatContact
 
@@ -60,6 +58,7 @@ def __init__(self,
 
         self._contact = contact
         self._contact.connect('avatar-update', self._on_avatar_update)
+        self._contact.connect('disco-info-update', self._on_disco_info_update)
 
         self._ui = get_builder('groupchat_details.ui')
         self._ui.connect_signals(self)
@@ -91,9 +90,6 @@ def __init__(self,
         if page is not None:
             self._switcher.set_row(page)
 
-        app.ged.register_event_handler(
-            'muc-disco-update', ged.GUI1, self._on_muc_disco_update)
-
         self.connect('key-press-event', self._on_key_press)
         self.connect('destroy', self._on_destroy)
 
@@ -109,9 +105,11 @@ def _on_client_state_changed(self,
         self._ui.edit_name_button.set_tooltip_text(
             _('Not connected') if not state.is_connected else _('Edit Name…'))
 
-    def _on_muc_disco_update(self, event: MucDiscoUpdate) -> None:
-        if event.jid != self._contact.jid:
-            return
+    def _on_disco_info_update(self,
+                              _contact: GroupchatContact,
+                              _signal_name: str
+                              ) -> None:
+
         self._ui.name_entry.set_text(self._contact.name)
         disco_info = self._contact.get_disco()
         assert disco_info is not None
@@ -228,7 +226,4 @@ def _on_key_press(self,
             self.destroy()
 
     def _on_destroy(self, _widget: GroupchatDetails) -> None:
-        app.ged.remove_event_handler('muc-disco-update',
-                                     ged.GUI1,
-                                     self._on_muc_disco_update)
         app.check_finalize(self)



View it on GitLab: 
https://dev.gajim.org/gajim/gajim/-/commit/3b6c82b9833a83a54c62d0942b8cce4de1cdc3e2

-- 
View it on GitLab: 
https://dev.gajim.org/gajim/gajim/-/commit/3b6c82b9833a83a54c62d0942b8cce4de1cdc3e2
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

Reply via email to