diff --git a/src/briar/api/models/private_chat.py b/src/briar/api/models/private_chat.py index 6e689aac9fade5cbf12a3bf52779e42d3e6a3190..c11fadbd72e8ee0ec9b0fd7a5419819193667d90 100644 --- a/src/briar/api/models/private_chat.py +++ b/src/briar/api/models/private_chat.py @@ -14,7 +14,7 @@ class PrivateChat(Model): def get(self, contact_id): headers = {'Authorization': 'Bearer ' + self._api.auth_token} - url = urljoin(self._constants.get_base_url(), 'messages/' + contact_id) + url = urljoin(self._constants.get_base_url(), 'messages/%i' % contact_id) r = _get(url, headers=headers) return r.json() @@ -25,5 +25,5 @@ class PrivateChat(Model): def send(self, contact_id, message): headers = {'Authorization': 'Bearer ' + self._api.auth_token} - url = urljoin(self._constants.get_base_url(), 'messages/' + contact_id) + url = urljoin(self._constants.get_base_url(), 'messages/%s' % contact_id) _post(url, headers=headers, json={'text': message}) diff --git a/src/briar/gtk/containers/main.py b/src/briar/gtk/containers/main.py index 9dabfc85c5cc82f75e6911c1133ac6cae1dac1a1..4cc9be85e07e33913170f7adb3c71ebeb9462481 100644 --- a/src/briar/gtk/containers/main.py +++ b/src/briar/gtk/containers/main.py @@ -8,7 +8,7 @@ from briar.gtk.define import App import gi gi.require_version('Gtk', '3.0') -from gi.repository import GLib, GObject, Gtk +from gi.repository import GLib, Gtk class MainContainer(Container): @@ -16,15 +16,9 @@ class MainContainer(Container): def __init__(self): super().__init__() self._api = App().api - self._register_signals() self._setup_view() self._load_content() - def _register_signals(self): - GObject.signal_new("briar_open_private_chat", Gtk.Overlay, - GObject.SignalFlags.RUN_LAST, GObject.TYPE_BOOLEAN, - (GObject.TYPE_STRING,)) - def _setup_view(self): self.builder.add_from_resource("/app/briar/gtk/ui/main.ui") self.add(self.builder.get_object("contacts_list")) @@ -36,9 +30,10 @@ class MainContainer(Container): contacts_list_box = self.builder.get_object("contacts_list") for contact in contacts_list: contact_label = Gtk.Button(contact["author"]["name"]) - contact_label.connect("clicked", self._contact_clicked) + contact_label.connect("clicked", self._contact_clicked, + contact["contactId"]) contact_label.show() contacts_list_box.add(contact_label) - def _contact_clicked(self, contact): - GLib.idle_add(self.emit, "briar_open_private_chat", (contact,)) + def _contact_clicked(self, widget, contactId): + GLib.idle_add(App().window.open_private_chat, contactId) diff --git a/src/briar/gtk/window.py b/src/briar/gtk/window.py index 35eedca02ddd884e2a543b2529fad6307a450ebb..913d6c0c46293ba980321f4583fcfae83346a86f 100644 --- a/src/briar/gtk/window.py +++ b/src/briar/gtk/window.py @@ -55,14 +55,12 @@ class Window(Gtk.ApplicationWindow): def __setup_main_container(self): self.__container = MainContainer() self.__container.show() - self.__container.connect("briar_open_private_chat", - self.__open_private_chat) self.__grid.add(self.__container) - def __open_private_chat(self, inst, obj): + def open_private_chat(self, contact_id): self.__grid.destroy() self.__setup_grid() - self.__setup_private_chat("1") + self.__setup_private_chat(contact_id) def __setup_private_chat(self, contact_id): self.__container = ChatContainer(contact_id)