From a62d919cdc83dfaa1d24f5d08f5e8c80d78814c7 Mon Sep 17 00:00:00 2001
From: Denis Fomin <fominde@gmail.com>
Date: Mon, 21 Oct 2013 23:22:27 +0400
Subject: [PATCH] Set transient_for for 'This file already exists' dialog(FT).

---
 src/dialogs.py              | 6 ++++--
 src/filetransfers_window.py | 5 ++---
 src/gtkgui_helpers.py       | 4 ++--
 3 files changed, 8 insertions(+), 7 deletions(-)

diff --git a/src/dialogs.py b/src/dialogs.py
index dd3d258ed..985019e52 100644
--- a/src/dialogs.py
+++ b/src/dialogs.py
@@ -1958,8 +1958,10 @@ class FTOverwriteConfirmationDialog(ConfirmationDialog):
     """
 
     def __init__(self, pritext, sectext='', propose_resume=True,
-    on_response=None):
-        if hasattr(gajim.interface, 'roster') and gajim.interface.roster:
+    on_response=None, transient_for=None):
+        if transient_for:
+            parent = transient_for
+        elif hasattr(gajim.interface, 'roster') and gajim.interface.roster:
             parent = gajim.interface.roster.window
         else:
             parent = None
diff --git a/src/filetransfers_window.py b/src/filetransfers_window.py
index 6f8be7c6f..2cac33988 100644
--- a/src/filetransfers_window.py
+++ b/src/filetransfers_window.py
@@ -404,10 +404,9 @@ class FileTransfersWindow:
 
                 dialog = dialogs.FTOverwriteConfirmationDialog(
                     _('This file already exists'), _('What do you want to do?'),
-                    propose_resume=not dl_finished, on_response=on_response)
-                dialog.set_transient_for(dialog2)
+                    propose_resume=not dl_finished, on_response=on_response,
+                    transient_for=dialog2)
                 dialog.set_destroy_with_parent(True)
-                return
             else:
                 dirname = os.path.dirname(file_path)
                 if not os.access(dirname, os.W_OK) and os.name != 'nt':
diff --git a/src/gtkgui_helpers.py b/src/gtkgui_helpers.py
index 4d3e39e9f..240666b3c 100644
--- a/src/gtkgui_helpers.py
+++ b/src/gtkgui_helpers.py
@@ -845,8 +845,8 @@ def on_avatar_save_as_menuitem_activate(widget, jid, default_name=''):
                 return
             dialog2 = dialogs.FTOverwriteConfirmationDialog(
                 _('This file already exists'), _('What do you want to do?'),
-                propose_resume=False, on_response=(on_continue, file_path))
-            dialog2.set_transient_for(dialog)
+                propose_resume=False, on_response=(on_continue, file_path),
+                transient_for=dialog)
             dialog2.set_destroy_with_parent(True)
         else:
             dirname = os.path.dirname(file_path)