diff --git a/briar-gtk/briar_gtk/actions/window.py b/briar-gtk/briar_gtk/actions/window.py index e08a44aade7f0f2637c2c6f86b97e012cf856b35..93e017c68361aeb02bad3037927c6ca5c58f9179 100644 --- a/briar-gtk/briar_gtk/actions/window.py +++ b/briar-gtk/briar_gtk/actions/window.py @@ -77,7 +77,7 @@ class WindowActions(Actions): # pylint: disable=unused-argument def _change_alias_contact_dialog(self, action, parameter): - self.widget.current_container.open_change_contact_alias_dialog() + self.widget.current_controller.open_change_contact_alias_dialog() # pylint: disable=unused-argument def _open_about_page(self, action, parameter): diff --git a/briar-gtk/briar_gtk/controllers/main_window.py b/briar-gtk/briar_gtk/controllers/main_window.py index 1781c7f5c63cae02b856f4c50f31b4bd5943c04c..83507cfac5e6003b027cf19d8646bca44cbbd4d0 100644 --- a/briar-gtk/briar_gtk/controllers/main_window.py +++ b/briar-gtk/briar_gtk/controllers/main_window.py @@ -2,6 +2,9 @@ # SPDX-License-Identifier: AGPL-3.0-only # License-Filename: LICENSE.md +from gettext import gettext as _ +from gi.repository import Gtk + from briar_wrapper.models.contacts import Contacts from briar_gtk.containers.private_chat import PrivateChatContainer @@ -13,6 +16,7 @@ from briar_gtk.views.main_menu import MainMenuView from briar_gtk.views.private_chat import PrivateChatView from briar_gtk.views.sidebar import SidebarView from briar_gtk.widgets.about_dialog import AboutDialogWidget +from briar_gtk.widgets.edit_dialog import EditDialog class MainWindowController(): @@ -31,6 +35,27 @@ class MainWindowController(): about_dialog = AboutDialogWidget() about_dialog.show() + def open_change_contact_alias_dialog(self): + if self._current_contact_id == 0: + raise Exception("Can't change contact alias with ID 0") + + confirmation_dialog = EditDialog( + parent=APP().window, + flags=Gtk.DialogFlags.MODAL, + placeholder=self._get_contact_name(self._current_contact_id) + ) + + confirmation_dialog.set_title(_("Change contact name")) + + response = confirmation_dialog.run() + user_alias = confirmation_dialog.get_entry().get_text() + confirmation_dialog.destroy() + if (response == Gtk.ResponseType.OK) and (user_alias != ''): + Contacts(APP().api).set_alias(self._current_contact_id, user_alias) + contact_name_label = self._builder.get_object("contact_name") + contact_name_label.set_text(user_alias) + self._sidebar_controller.refresh_contacts() + def open_private_chat(self, contact_id): contact_name = self._get_contact_name(contact_id) self._prepare_chat_view(contact_name) diff --git a/briar-gtk/briar_gtk/views/main_window.py b/briar-gtk/briar_gtk/views/main_window.py index a89e69d32923d15ec7f4150c60c6b8269a21a74e..a574a6bf3db06a4402b89bf633cc9b2d6c79e595 100644 --- a/briar-gtk/briar_gtk/views/main_window.py +++ b/briar-gtk/briar_gtk/views/main_window.py @@ -21,7 +21,6 @@ from briar_gtk.views.main_menu import MainMenuView from briar_gtk.views.private_chat import PrivateChatView from briar_gtk.views.sidebar import SidebarView from briar_gtk.widgets.contact_row import ContactRowWidget -from briar_gtk.widgets.edit_dialog import EditDialog class MainWindowView(Gtk.Overlay): @@ -82,26 +81,6 @@ class MainWindowView(Gtk.Overlay): self._current_contact_id = 0 self._builder.get_object("chat_menu_button").hide() - def open_change_contact_alias_dialog(self): - if self._current_contact_id == 0: - raise Exception("Can't change contact alias with ID 0") - - confirmation_dialog = EditDialog( - parent=APP().window, - flags=Gtk.DialogFlags.MODAL, - placeholder=self._get_contact_name(self._current_contact_id) - ) - - confirmation_dialog.set_title(_("Change contact name")) - - response = confirmation_dialog.run() - user_alias = confirmation_dialog.get_entry().get_text() - confirmation_dialog.destroy() - if (response == Gtk.ResponseType.OK) and (user_alias != ''): - Contacts(APP().api).set_alias(self._current_contact_id, user_alias) - self.contact_name_label.set_text(user_alias) - self._refresh_contacts() - def open_delete_all_messages_dialog(self): if self._current_contact_id == 0: raise Exception("Can't delete all messages with contact ID 0")