Move some operations to properly find the parent window
[modest] / src / widgets / modest-toolkit-utils.c
index 5728d3d..116babe 100644 (file)
@@ -40,6 +40,9 @@
 #ifdef MODEST_TOOLKIT_HILDON2
 #include <hildon/hildon.h>
 #endif
+#ifdef MODEST_TOOLKIT_GTK
+#include <modest-gtk-window-mgr.h>
+#endif
 
 /* Label child of a captioned */
 #define CAPTIONED_LABEL_CHILD "captioned-label"
@@ -436,3 +439,19 @@ modest_toolkit_utils_select_attachments (GtkWindow *window, TnyList *att_list, g
 #endif
 }
 
+GtkWindow *
+modest_toolkit_utils_parent_window (GtkWidget *window)
+{
+#ifdef MODEST_TOOLKIT_GTK
+       if (MODEST_IS_WINDOW (window)) {
+               ModestWindowMgr *mgr;
+
+               mgr = modest_runtime_get_window_mgr ();
+               return GTK_WINDOW (modest_gtk_window_mgr_get_shell (MODEST_GTK_WINDOW_MGR (mgr)));
+       } else {
+               return GTK_WINDOW (window);
+       }
+#else
+       return GTK_WINDOW (window);
+#endif
+}