From c1553fa89dfefc26574c3db5cd6e6993598630b0 Mon Sep 17 00:00:00 2001
From: Nico Alt <nicoalt@posteo.org>
Date: Thu, 17 Dec 2020 16:51:04 +0100
Subject: [PATCH] Move open_change_contact_alias_dialog into
 MainWindowController

---
 briar-gtk/briar_gtk/actions/window.py         |  2 +-
 .../briar_gtk/controllers/main_window.py      | 25 +++++++++++++++++++
 briar-gtk/briar_gtk/views/main_window.py      | 21 ----------------
 3 files changed, 26 insertions(+), 22 deletions(-)

diff --git a/briar-gtk/briar_gtk/actions/window.py b/briar-gtk/briar_gtk/actions/window.py
index e08a44a..93e017c 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 1781c7f..83507cf 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 a89e69d..a574a6b 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")
-- 
GitLab