From f92b8e46d49cc5b66168d7a90d8d0bc9e63eda4d Mon Sep 17 00:00:00 2001
From: Denis Fomin <fominde@gmail.com>
Date: Thu, 5 Jul 2012 23:53:51 +0400
Subject: [PATCH] Set parent window for ProfileWindow. See #7184.

---
 data/gui/profile_window.ui | 1 +
 src/config.py              | 7 ++++++-
 src/profile_window.py      | 5 +++--
 3 files changed, 10 insertions(+), 3 deletions(-)

diff --git a/data/gui/profile_window.ui b/data/gui/profile_window.ui
index 88ba214e47..2fb532e5e9 100644
--- a/data/gui/profile_window.ui
+++ b/data/gui/profile_window.ui
@@ -4,6 +4,7 @@
   <!-- interface-naming-policy toplevel-contextual -->
   <object class="GtkWindow" id="profile_window">
     <property name="title" translatable="yes">Personal Information</property>
+    <property name="window_position">center-on-parent</property>
     <property name="type_hint">dialog</property>
     <signal name="destroy" handler="on_profile_window_destroy"/>
     <signal name="key_press_event" handler="on_profile_window_key_press_event"/>
diff --git a/src/config.py b/src/config.py
index a85e7d80d5..cfcfef9c0a 100644
--- a/src/config.py
+++ b/src/config.py
@@ -45,6 +45,7 @@ import cell_renderer_image
 import message_control
 import chat_control
 import dataforms_widget
+import profile_window
 
 try:
     import gtkspell
@@ -2454,7 +2455,11 @@ class AccountsWindow:
             _("Your server can't save your personal information."))
             return
 
-        gajim.interface.edit_own_details(self.current_account)
+        jid = gajim.get_jid_from_account(self.current_account)
+        if 'profile' not in gajim.interface.instances[self.current_account]:
+            gajim.interface.instances[self.current_account]['profile'] = \
+                profile_window.ProfileWindow(self.current_account, self.window)
+            gajim.connections[self.current_account].request_vcard(jid)
 
     def on_checkbutton_toggled(self, widget, config_name,
             change_sensitivity_widgets = None, account = None):
diff --git a/src/profile_window.py b/src/profile_window.py
index ad0dcd148d..00096ddfea 100644
--- a/src/profile_window.py
+++ b/src/profile_window.py
@@ -42,10 +42,11 @@ class ProfileWindow:
     Class for our information window
     """
 
-    def __init__(self, account):
+    def __init__(self, account, transient_for=None):
         self.xml = gtkgui_helpers.get_gtk_builder('profile_window.ui')
         self.window = self.xml.get_object('profile_window')
-        self.window.set_transient_for(gajim.interface.roster.window)
+        if not transient_for:
+            self.window.set_transient_for(gajim.interface.roster.window)
         self.progressbar = self.xml.get_object('progressbar')
         self.statusbar = self.xml.get_object('statusbar')
         self.context_id = self.statusbar.get_context_id('profile')
-- 
GitLab