From 0c39cac67eb64ec851514fbf38738c82798ef698 Mon Sep 17 00:00:00 2001 From: Nico Alt <nicoalt@posteo.org> Date: Sat, 1 Jun 2019 18:28:35 +0200 Subject: [PATCH] Add ability to send messages (to first contact) --- src/briar/api/models/private_chat.py | 6 ++++++ src/briar/gtk/containers/chat.py | 10 ++++++++++ 2 files changed, 16 insertions(+) diff --git a/src/briar/api/models/private_chat.py b/src/briar/api/models/private_chat.py index 4332c49..6e689aa 100644 --- a/src/briar/api/models/private_chat.py +++ b/src/briar/api/models/private_chat.py @@ -6,6 +6,7 @@ from briar.api.models.model import Model from briar.api.models.socket_listener import SocketListener from requests import get as _get +from requests import post as _post from urllib.parse import urljoin @@ -21,3 +22,8 @@ class PrivateChat(Model): socket_listener = SocketListener(self._api) socket_listener.watch(callback, "ConversationMessageReceivedEvent", contact_id=contact_id) + + def send(self, contact_id, message): + headers = {'Authorization': 'Bearer ' + self._api.auth_token} + url = urljoin(self._constants.get_base_url(), 'messages/' + contact_id) + _post(url, headers=headers, json={'text': message}) diff --git a/src/briar/gtk/containers/chat.py b/src/briar/gtk/containers/chat.py index de44d1d..1555eaf 100644 --- a/src/briar/gtk/containers/chat.py +++ b/src/briar/gtk/containers/chat.py @@ -23,6 +23,8 @@ class ChatContainer(Container): self.builder.add_from_resource("/app/briar/gtk/ui/chat.ui") self.add(self.builder.get_object("main")) self.builder.connect_signals(self) + chat_entry = self.builder.get_object("chat_entry") + chat_entry.connect("key-press-event", self._key_pressed) def _load_content(self, contact_id): private_chat = PrivateChat(self._api) @@ -39,3 +41,11 @@ class ChatContainer(Container): def _add_message_async(self, message): GLib.idle_add(self._add_message, message) + + def _key_pressed(self, widget, event): + if event.hardware_keycode != 36: + return + message = self.builder.get_object("chat_entry").get_text() + private_chat = PrivateChat(self._api) + private_chat.send("1", message) + -- GitLab