Philipp Hörist pushed to branch storage at gajim / gajim
Commits:
59dfb9da by Philipp Hörist at 2024-03-17T21:29:12+01:00
imprv: Handle corrected messages correctly
- - - - -
3 changed files:
- gajim/gtk/conversation/rows/message.py
- gajim/gtk/conversation/view.py
- gajim/gtk/menus.py
Changes:
=====================================
gajim/gtk/conversation/rows/message.py
=====================================
@@ -62,9 +62,10 @@ def __init__(self,
self.db_timestamp = message.timestamp.timestamp()
self.message_id = message.id
self.stanza_id = message.stanza_id
- self.log_line_id = message.pk
self.direction = ChatDirection(message.direction)
+ self._orig_log_line_id = message.pk
+
assert message.text is not None
self._original_text = message.text
self._original_message = message
@@ -106,6 +107,8 @@ def update_with_content(self, message: Message) -> None:
if message.corrections:
message = message.get_last_correction()
+ self.log_line_id = message.pk
+
self.encryption = message.encryption
self.securitylabel = message.security_label
@@ -239,6 +242,7 @@ def _on_more_menu_button_clicked(self, button: Gtk.Button)
-> None:
self.timestamp,
self.message_id,
self.stanza_id,
+ self._orig_log_line_id,
self.log_line_id)
popover = GajimPopover(menu, relative_to=button)
=====================================
gajim/gtk/conversation/view.py
=====================================
@@ -753,8 +753,10 @@ def get_row_by_log_line_id(self, log_line_id: int) ->
MessageRow | None:
for row in cast(list[BaseRow], self._list_box.get_children()):
if not isinstance(row, MessageRow):
continue
- if row.log_line_id == log_line_id:
+ if (row.log_line_id == log_line_id or
+ row._orig_log_line_id == log_line_id):
return row
+
return None
def get_row_by_stanza_id(self, stanza_id: str) -> MessageRow | None:
=====================================
gajim/gtk/menus.py
=====================================
@@ -691,7 +691,8 @@ def get_chat_row_menu(contact: types.ChatContactT,
timestamp: datetime,
message_id: str | None,
stanza_id: str | None,
- entitykey: int | None
+ pk: int | None,
+ corrected_pk: int | None,
) -> GajimMenu:
menu_items: MenuItemListT = []
@@ -728,7 +729,7 @@ def get_chat_row_menu(contact: types.ChatContactT,
menu_items.append(
(p_('Message row action', 'Select Messages…'),
'win.activate-message-selection',
- GLib.Variant('u', entitykey or 0)))
+ GLib.Variant('u', corrected_pk or 0)))
show_correction = False
if message_id is not None:
@@ -760,11 +761,11 @@ def get_chat_row_menu(contact: types.ChatContactT,
'win.retract-message',
param))
- if entitykey is not None:
+ if pk is not None:
param = DeleteMessageParam(
account=contact.account,
jid=contact.jid,
- entitykey=entitykey)
+ entitykey=pk)
menu_items.append(
(p_('Message row action',
View it on GitLab:
https://dev.gajim.org/gajim/gajim/-/commit/59dfb9da7d421d19cfe76b56bcec391dce6cedbf
--
View it on GitLab:
https://dev.gajim.org/gajim/gajim/-/commit/59dfb9da7d421d19cfe76b56bcec391dce6cedbf
You're receiving this email because of your account on dev.gajim.org.
_______________________________________________
Commits mailing list -- [email protected]
To unsubscribe send an email to [email protected]