diff options
author | Philipp Hörist <philipp@hoerist.com> | 2023-06-06 16:04:39 +0300 |
---|---|---|
committer | Philipp Hörist <philipp@hoerist.com> | 2023-06-06 16:04:39 +0300 |
commit | 3b6c82b9833a83a54c62d0942b8cce4de1cdc3e2 (patch) | |
tree | 1bdaed9a44810f0bd71b6d1eb113dd7369f91527 | |
parent | 17a653624ba8b10c015229bd5c080950a56de9e7 (diff) |
refactor: Use contact signals instead of event signals
-rw-r--r-- | gajim/gtk/chat_banner.py | 13 | ||||
-rw-r--r-- | gajim/gtk/groupchat_details.py | 17 |
2 files changed, 12 insertions, 18 deletions
diff --git a/gajim/gtk/chat_banner.py b/gajim/gtk/chat_banner.py index db719e3c3..16859270b 100644 --- a/gajim/gtk/chat_banner.py +++ b/gajim/gtk/chat_banner.py @@ -30,7 +30,6 @@ from gajim.common.const import XmppUriQuery 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 @@ class ChatBanner(Gtk.Box, EventHelper): 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 @@ class ChatBanner(Gtk.Box, EventHelper): 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 @@ class ChatBanner(Gtk.Box, EventHelper): 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() diff --git a/gajim/gtk/groupchat_details.py b/gajim/gtk/groupchat_details.py index 01a7e0589..0d04c2855 100644 --- a/gajim/gtk/groupchat_details.py +++ b/gajim/gtk/groupchat_details.py @@ -19,11 +19,9 @@ from gi.repository import GObject 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 @@ class GroupchatDetails(Gtk.ApplicationWindow): 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 @@ class GroupchatDetails(Gtk.ApplicationWindow): 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 @@ class GroupchatDetails(Gtk.ApplicationWindow): 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 @@ class GroupchatDetails(Gtk.ApplicationWindow): 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) |