diff options
author | Philipp Hörist <philipp@hoerist.com> | 2023-06-08 11:06:55 +0300 |
---|---|---|
committer | Philipp Hörist <philipp@hoerist.com> | 2023-06-08 11:06:55 +0300 |
commit | 55123b06452275684a77d1336a81387103f19799 (patch) | |
tree | ece5430b4c0619bceeba9a64b4863281df9df9a6 | |
parent | d91a3aceb8811481f169e807cf6801815f90d9c9 (diff) |
refactor: Control: Simplify adding group chat messages
-rw-r--r-- | gajim/gtk/control.py | 78 |
1 files changed, 33 insertions, 45 deletions
diff --git a/gajim/gtk/control.py b/gajim/gtk/control.py index 6c467100b..8541a6792 100644 --- a/gajim/gtk/control.py +++ b/gajim/gtk/control.py @@ -325,14 +325,22 @@ class ChatControl(EventHelper): return if event.archive_jid != self.contact.jid: return - self._add_muc_message(event.msgtxt, - tim=event.properties.mam.timestamp, - contact=event.properties.muc_nickname, - displaymarking=event.displaymarking, - message_id=event.properties.id, - stanza_id=event.stanza_id, - msg_log_id=event.msg_log_id, - additional_data=event.additional_data) + + nickname = event.properties.muc_nickname + if nickname == self.contact.nickname: + kind = 'outgoing' + else: + kind = 'incoming' + + self._add_message(event.msgtxt, + kind, + nickname, + event.properties.mam.timestamp, + displaymarking=event.displaymarking, + message_id=event.properties.id, + stanza_id=event.stanza_id, + msg_log_id=event.msg_log_id, + additional_data=event.additional_data) else: @@ -358,14 +366,23 @@ class ChatControl(EventHelper): if not self._is_event_processable(event): return - self._add_muc_message(event.msgtxt, - tim=event.properties.timestamp, - contact=event.properties.muc_nickname, - displaymarking=event.displaymarking, - message_id=event.properties.id, - stanza_id=event.stanza_id, - msg_log_id=event.msg_log_id, - additional_data=event.additional_data) + assert isinstance(self.contact, GroupchatContact) + + nickname = event.properties.muc_nickname + if nickname == self.contact.nickname: + kind = 'outgoing' + else: + kind = 'incoming' + + self._add_message(event.msgtxt, + kind, + nickname, + event.properties.timestamp, + displaymarking=event.displaymarking, + message_id=event.properties.id, + stanza_id=event.stanza_id, + msg_log_id=event.msg_log_id, + additional_data=event.additional_data) def _on_message_updated(self, event: events.MessageUpdated) -> None: if not self._is_event_processable(event): @@ -1192,35 +1209,6 @@ class ChatControl(EventHelper): self.add_info_message(message, event.timestamp) - def _add_muc_message(self, - text: str, - tim: float, - contact: str, - displaymarking: Displaymarking | None, - message_id: str | None, - stanza_id: str | None, - msg_log_id: int | None, - additional_data: AdditionalDataDict | None, - ) -> None: - - assert isinstance(self._contact, GroupchatContact) - - if contact == self._contact.nickname: - kind = 'outgoing' - else: - kind = 'incoming' - # muc-specific chatstate - - self._add_message(text, - kind, - contact, - tim, - displaymarking=displaymarking, - message_id=message_id, - stanza_id=stanza_id, - msg_log_id=msg_log_id, - additional_data=additional_data) - def _on_room_subject(self, contact: GroupchatContact, _signal_name: str, |