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/3b6c82b9833a83a54c62d0942b8cce4de...