Move some operations to properly find the parent window
authorJose Dapena Paz <jdapena@igalia.com>
Tue, 1 Dec 2009 12:20:44 +0000 (13:20 +0100)
committerJose Dapena Paz <jdapena@igalia.com>
Tue, 1 Dec 2009 12:22:24 +0000 (13:22 +0100)
src/gtk/modest-platform.c
src/hildon2/modest-platform.c
src/modest-platform.h
src/modest-ui-actions.c
src/modest-utils.c
src/modest-utils.h
src/widgets/modest-toolkit-utils.c
src/widgets/modest-toolkit-utils.h

index 61b91cc..9dd82ff 100644 (file)
@@ -874,14 +874,14 @@ modest_platform_run_new_folder_dialog (GtkWindow *parent_window,
 }
 
 gint
-modest_platform_run_rename_folder_dialog (GtkWindow *parent_window,
+modest_platform_run_rename_folder_dialog (ModestWindow *parent_window,
                                           TnyFolderStore *parent_folder,
                                           const gchar *suggested_name,
                                           gchar **folder_name)
 {
        g_return_val_if_fail (TNY_IS_FOLDER_STORE (parent_folder), GTK_RESPONSE_REJECT);
 
-       return modest_platform_run_folder_common_dialog (parent_window, 
+       return modest_platform_run_folder_common_dialog (modest_toolkit_utils_parent_window (GTK_WIDGET (parent_window)), 
                                                         parent_folder,
                                                         _HL("ckdg_ti_rename_folder"),
                                                         _HL("ckdg_fi_rename_name"),
index 5790ee8..c2df14f 100644 (file)
@@ -1194,14 +1194,14 @@ modest_platform_run_new_folder_dialog (GtkWindow *parent_window,
 }
 
 gint
-modest_platform_run_rename_folder_dialog (GtkWindow *parent_window,
+modest_platform_run_rename_folder_dialog (ModestWindow *parent_window,
                                           TnyFolderStore *parent_folder,
                                           const gchar *suggested_name,
                                           gchar **folder_name)
 {
        g_return_val_if_fail (TNY_IS_FOLDER_STORE (parent_folder), GTK_RESPONSE_REJECT);
 
-       return modest_platform_run_folder_common_dialog (parent_window, 
+       return modest_platform_run_folder_common_dialog (modest_toolkit_utils_parent_window (GTK_WIDGET (parent_window)), 
                                                         parent_folder,
                                                         _HL("ckdg_ti_rename_folder"),
                                                         _HL("ckdg_fi_rename_name"),
index dcb4f2e..d9fc19e 100644 (file)
@@ -182,7 +182,7 @@ gint      modest_platform_run_new_folder_dialog        (GtkWindow *parent_window
  * 
  * Returns: the #GtkResponseType returned by the dialog
  **/
-gint      modest_platform_run_rename_folder_dialog        (GtkWindow *parent_window,
+gint      modest_platform_run_rename_folder_dialog        (ModestWindow *parent_window,
                                                           TnyFolderStore *parent,
                                                           const gchar *current_name,
                                                           gchar **folder_name);
index 8a35578..c3bdbda 100644 (file)
@@ -568,7 +568,7 @@ modest_ui_actions_on_accounts (GtkAction *action,
 
                /* The accounts dialog must be modal */
                modest_window_mgr_set_modal (modest_runtime_get_window_mgr (), GTK_WINDOW (account_win), (GtkWindow *) win);
-               modest_utils_show_dialog_and_forget (GTK_WIDGET (win), GTK_DIALOG (account_win));
+               modest_utils_show_dialog_and_forget (modest_toolkit_utils_parent_window (GTK_WIDGET (win)), GTK_DIALOG (account_win));
        }
 }
 
@@ -1931,7 +1931,7 @@ modest_ui_actions_on_sort (GtkAction *action,
        }
 
        /* Show sorting dialog */
-       modest_utils_run_sort_dialog (GTK_WINDOW (window), MODEST_SORT_HEADERS);
+       modest_utils_run_sort_dialog (MODEST_WINDOW (window), MODEST_SORT_HEADERS);
 }
 
 static void
@@ -2901,7 +2901,8 @@ do_create_folder_cb (ModestMailOperation *mail_op,
                           full memory condition */
                        modest_platform_information_banner ((GtkWidget *) source_win, NULL,
                                                            _("mail_in_ui_folder_create_error"));
-                       do_create_folder (source_win, parent_folder, (const gchar *) suggested_name);
+                       do_create_folder (modest_toolkit_utils_parent_window (GTK_WIDGET (source_win)),
+                                         parent_folder, (const gchar *) suggested_name);
                }
 
        } else {
@@ -3000,7 +3001,7 @@ do_create_folder (GtkWindow *parent_window,
                helper->folder_name = g_strdup (folder_name);
                helper->parent = g_object_ref (parent_folder);
 
-               modest_platform_connect_if_remote_and_perform (GTK_WINDOW (parent_window),
+               modest_platform_connect_if_remote_and_perform (parent_window,
                                                               TRUE,
                                                               parent_folder,
                                                               do_create_folder_performer,
@@ -3014,7 +3015,7 @@ do_create_folder (GtkWindow *parent_window,
 }
 
 static void
-modest_ui_actions_create_folder(GtkWidget *parent_window,
+modest_ui_actions_create_folder(GtkWindow *parent_window,
                                 GtkWidget *folder_view,
                                TnyFolderStore *parent_folder)
 {
@@ -3198,7 +3199,7 @@ modest_ui_actions_on_edit_mode_rename_folder (ModestWindow *window)
 
                current_name = tny_folder_get_name (TNY_FOLDER (folder));
                parent = tny_folder_get_folder_store (TNY_FOLDER (folder));
-               response = modest_platform_run_rename_folder_dialog (GTK_WINDOW (window),
+               response = modest_platform_run_rename_folder_dialog (MODEST_WINDOW (window),
                                                                     parent, current_name,
                                                                     &folder_name);
                g_object_unref (parent);
index 14d9795..d611f3e 100644 (file)
@@ -420,26 +420,13 @@ modest_utils_get_supported_secure_authentication_methods (ModestProtocolType pro
 }
 
 void
-modest_utils_show_dialog_and_forget (GtkWidget *parent_window,
+modest_utils_show_dialog_and_forget (GtkWindow *parent_window,
                                     GtkDialog *dialog)
 {
        g_return_if_fail (GTK_IS_DIALOG(dialog));
 
-#ifdef MODEST_TOOLKIT_GTK
-       if (GTK_IS_WINDOW (parent_window)) {
-               gtk_window_set_transient_for (GTK_WINDOW (dialog), parent_window);
-       } else {
-               ModestWindowMgr *window_mgr;
-               GtkWidget *shell;
-
-               window_mgr = modest_runtime_get_window_mgr ();
-               shell  = modest_gtk_window_mgr_get_shell (MODEST_GTK_WINDOW_MGR (window_mgr));
-               gtk_window_set_transient_for (GTK_WINDOW (dialog), GTK_WINDOW (shell));
-       }
-#else
        g_return_if_fail (GTK_IS_WINDOW(parent_window));
        gtk_window_set_transient_for (GTK_WINDOW (dialog), parent_window);
-#endif
 
        /* Destroy the dialog when it is closed: */
        g_signal_connect_swapped (dialog,
@@ -550,7 +537,7 @@ checked_modest_sort_criterium_view_add_sort_key (ModestSortCriteriumView *view,
 }
 
 static void
-launch_sort_headers_dialog (GtkWindow *parent_window,
+launch_sort_headers_dialog (ModestWindow *parent_window,
                            GtkDialog *dialog)
 {
        ModestHeaderView *header_view = NULL;
@@ -690,13 +677,13 @@ launch_sort_headers_dialog (GtkWindow *parent_window,
 }
 
 void
-modest_utils_run_sort_dialog (GtkWindow *parent_window,
+modest_utils_run_sort_dialog (ModestWindow *parent_window,
                              ModestSortDialogType type)
 {
        GtkWidget *dialog = NULL;
 
        /* Build dialog */
-       dialog = modest_platform_create_sort_dialog (parent_window);
+       dialog = modest_platform_create_sort_dialog (modest_toolkit_utils_parent_window (GTK_WIDGET (parent_window)));
        if (dialog == NULL)
                return;
        modest_window_mgr_set_modal (modest_runtime_get_window_mgr (),
index b5f87e2..3d8f8a1 100644 (file)
@@ -36,6 +36,7 @@
 #include <tny-fs-stream.h>
 #include <modest-protocol.h>
 #include "widgets/modest-validating-entry.h"
+#include <widgets/modest-window.h>
 
 typedef enum {
        MODEST_UTILS_GET_SUPPORTED_SECURE_AUTHENTICATION_ERROR_CANCELED
@@ -127,7 +128,7 @@ void modest_utils_show_information_note_in_main_context_and_forget (GtkWindow *p
  * blocking. Use this when you don't want to use gtk_dialog_run(), which might lead 
  * to hangs.
  */
-void modest_utils_show_dialog_and_forget (GtkWidget *parent_window, GtkDialog *dialog);
+void modest_utils_show_dialog_and_forget (GtkWindow *parent_window, GtkDialog *dialog);
 
 /**
  * modest_toggle_action_set_active_block_notify:
@@ -145,7 +146,7 @@ void modest_utils_toggle_action_set_active_block_notify (GtkToggleAction *action
  *
  * raises a sort dialog for this window
  */
-void modest_utils_run_sort_dialog (GtkWindow *parent_window, ModestSortDialogType type);
+void modest_utils_run_sort_dialog (ModestWindow *parent_window, ModestSortDialogType type);
 
 
 /**
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
+}
index a0a887e..8a20b67 100644 (file)
@@ -85,6 +85,8 @@ GtkWidget *modest_toolkit_utils_create_group_box (const gchar *label, GtkWidget
 
 gboolean   modest_toolkit_utils_select_attachments (GtkWindow *window, TnyList *att_list, gboolean include_msgs);
 
+GtkWindow *modest_toolkit_utils_parent_window (GtkWidget *window);
+
 
 
 #endif /*__MODEST_TOOLKIT_UTILS_H__*/