Daniel Brötzmann pushed to branch newcontrol at gajim / gajim
Commits:
68181443 by wurstsalat at 2022-07-08T18:48:34+02:00
MessageInputTextView: Add draft support
- - - - -
1 changed file:
- gajim/gtk/message_input.py
Changes:
=====================================
gajim/gtk/message_input.py
=====================================
@@ -20,6 +20,7 @@
from __future__ import annotations
from typing import Any
+from typing import Optional
import sys
@@ -73,6 +74,9 @@ def __init__(self) -> None:
self._undo_list: list[str] = []
self.undo_pressed: bool = False
+ self._contact: Optional[ChatContactT] = None
+ self._drafts: dict[str, str] = {}
+
self._chat_action_processor = ChatActionProcessor(self)
self.get_buffer().create_tag('strong', weight=Pango.Weight.BOLD)
@@ -88,6 +92,18 @@ def __init__(self) -> None:
self.connect('populate-popup', self._on_populate_popup)
def switch_contact(self, contact: ChatContactT) -> None:
+ if self._contact is not None:
+ if self.has_text():
+ self._drafts[str(self._contact.jid)] = self.get_text()
+ else:
+ self._drafts.pop(str(self._contact.jid), None)
+
+ self.clear()
+ draft = self._drafts.get(str(contact.jid))
+ if draft is not None:
+ self.insert_text(draft)
+
+ self._contact = contact
self._chat_action_processor.switch_contact(contact)
def _on_destroy(self, _widget: Gtk.Widget) -> None:
View it on GitLab:
https://dev.gajim.org/gajim/gajim/-/commit/68181443efd0314102e794da0fe841a723594238
--
View it on GitLab:
https://dev.gajim.org/gajim/gajim/-/commit/68181443efd0314102e794da0fe841a723594238
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