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