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/68181443efd0314102e794da0fe841a72...