Welcome to mirror list, hosted at ThFree Co, Russian Federation.

dev.gajim.org/gajim/gajim.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPhilipp Hörist <philipp@hoerist.com>2023-06-08 11:06:55 +0300
committerPhilipp Hörist <philipp@hoerist.com>2023-06-08 11:06:55 +0300
commit55123b06452275684a77d1336a81387103f19799 (patch)
treeece5430b4c0619bceeba9a64b4863281df9df9a6
parentd91a3aceb8811481f169e807cf6801815f90d9c9 (diff)
refactor: Control: Simplify adding group chat messages
-rw-r--r--gajim/gtk/control.py78
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,