Removed trailing whitespaces
[modest] / src / modest-ui-actions.c
index 8b387a8..c1dc59e 100644 (file)
@@ -239,14 +239,23 @@ modest_ui_actions_run_account_setup_wizard (ModestWindow *win)
 
                window_list = modest_window_mgr_get_window_list (mgr);
                if (window_list == NULL) {
+                       ModestWindow *old_win;
                        win = MODEST_WINDOW (modest_accounts_window_new ());
-                       modest_window_mgr_register_window (mgr, win, NULL);
-                       gtk_widget_show_all (GTK_WIDGET (win));
+                       if (modest_window_mgr_register_window (mgr, win, NULL)) {
+                               gtk_widget_show_all (GTK_WIDGET (win));
+                       } else {
+                               gtk_widget_destroy (GTK_WIDGET (win));
+                               win = NULL;
+                       }
 
+                       old_win = win;
                        win = MODEST_WINDOW (modest_folder_window_new (NULL));
-                       modest_window_mgr_register_window (mgr, win, NULL);
-
-                       gtk_widget_show_all (GTK_WIDGET (win));
+                       if (modest_window_mgr_register_window (mgr, win, NULL)) {
+                               gtk_widget_show_all (GTK_WIDGET (win));
+                       } else {
+                               gtk_widget_destroy (GTK_WIDGET (win));
+                               win = old_win;
+                       }
                } else {
                        g_list_free (window_list);
                }
@@ -918,7 +927,7 @@ modest_ui_actions_msg_retrieval_check (ModestMailOperation *mail_op,
                                proto = modest_tny_account_get_protocol_type (account);
                                protocol = modest_protocol_registry_get_protocol_by_type (modest_runtime_get_protocol_registry (), proto);
                                if (protocol)
-                                       format = modest_protocol_get_translation (protocol, MODEST_PROTOCOL_TRANSLATION_MSG_NOT_AVAILABLE);
+                                 format = modest_protocol_get_translation (protocol, MODEST_PROTOCOL_TRANSLATION_MSG_NOT_AVAILABLE, subject);
                                g_object_unref (account);
                        }
 
@@ -1195,7 +1204,7 @@ check_memory_full_error (GtkWidget *parent_window, GError *err)
        else if (err->code == TNY_SYSTEM_ERROR_MEMORY)
                /* If the account was created in memory full
                   conditions then tinymail won't be able to
-                  connect so it'll return this error code */                           
+                  connect so it'll return this error code */
                modest_platform_information_banner (parent_window,
                                                    NULL, _("emev_ui_imap_inbox_select_error"));
        else
@@ -3458,7 +3467,7 @@ modest_ui_actions_rename_folder_error_handler (ModestMailOperation *mail_op,
                   message is opened for example */
                message = _("emev_ni_internal_error");
        } else {
-               message = _CS("ckdg_ib_unable_to_remove");
+               message = _CS("ckdg_ib_unable_to_rename");
        }
 
        /* We don't set a parent for the dialog because the dialog
@@ -3490,7 +3499,7 @@ on_rename_folder_cb (ModestMailOperation *mail_op,
        } else {
                modest_folder_view_select_first_inbox_or_local (folder_view);
        }
-       gtk_widget_grab_focus (GTK_WIDGET (folder_view));       
+       gtk_widget_grab_focus (GTK_WIDGET (folder_view));
 }
 
 static void
@@ -3510,7 +3519,7 @@ on_rename_folder_performer (gboolean canceled,
                check_memory_full_error ((GtkWidget *) parent_window, err);
        } else {
 
-               mail_op = 
+               mail_op =
                        modest_mail_operation_new_with_error_handling (G_OBJECT(parent_window),
                                        modest_ui_actions_rename_folder_error_handler,
                                        parent_window, NULL);
@@ -3523,13 +3532,17 @@ on_rename_folder_performer (gboolean canceled,
                        folder_view = modest_main_window_get_child_widget (
                                MODEST_MAIN_WINDOW (parent_window),
                                MODEST_MAIN_WINDOW_WIDGET_TYPE_FOLDER_VIEW);
-
-                       /* Clear the headers view */
-                       sel = gtk_tree_view_get_selection (GTK_TREE_VIEW (folder_view));
-                       gtk_tree_selection_unselect_all (sel);
-               } else {
-                       folder_view = NULL;
+               } 
+#ifdef MODEST_TOOLKIT_HILDON2
+               else if (MODEST_IS_FOLDER_WINDOW (parent_window)) {
+                       ModestFolderWindow *folder_window = (ModestFolderWindow *) parent_window;
+                       folder_view = GTK_WIDGET (modest_folder_window_get_folder_view (folder_window));
                }
+#endif
+
+               /* Clear the folders view */
+               sel = gtk_tree_view_get_selection (GTK_TREE_VIEW (folder_view));
+               gtk_tree_selection_unselect_all (sel);
 
                /* Actually rename the folder */
                modest_mail_operation_rename_folder (mail_op,
@@ -3537,10 +3550,10 @@ on_rename_folder_performer (gboolean canceled,
                                                     (const gchar *) (data->new_name),
                                                     on_rename_folder_cb,
                                                     folder_view);
-               g_object_unref (data->folder);
                g_object_unref (mail_op);
        }
 
+       g_object_unref (data->folder);
        g_free (data->new_name);
        g_free (data);
 }
@@ -3703,6 +3716,9 @@ delete_folder (ModestWindow *window, gboolean move_to_trash)
 
        folder = modest_folder_view_get_selected (MODEST_FOLDER_VIEW (folder_view));
 
+       if (!folder)
+               return FALSE;
+
        /* Show an error if it's an account */
        if (!TNY_IS_FOLDER (folder)) {
                modest_platform_run_information_dialog (GTK_WINDOW (window),
@@ -3712,7 +3728,7 @@ delete_folder (ModestWindow *window, gboolean move_to_trash)
                return FALSE;
        }
 
-       /* Ask the user */      
+       /* Ask the user */
        message =  g_strdup_printf (_("mcen_nc_delete_folder_text"), 
                                    tny_folder_get_name (TNY_FOLDER (folder)));
        response = modest_platform_run_confirmation_dialog (GTK_WINDOW (window),
@@ -4519,7 +4535,7 @@ modest_ui_actions_on_change_fullscreen (GtkAction *action,
  * Used by modest_ui_actions_on_details to call do_headers_action 
  */
 static void
-headers_action_show_details (TnyHeader *header, 
+headers_action_show_details (TnyHeader *header,
                             ModestWindow *window,
                             gpointer user_data)
 
@@ -4530,36 +4546,24 @@ headers_action_show_details (TnyHeader *header,
 /*
  * Show the header details in a ModestDetailsDialog widget
  */
-void     
-modest_ui_actions_on_details (GtkAction *action, 
+void
+modest_ui_actions_on_details (GtkAction *action,
                              ModestWindow *win)
 {
-       TnyList * headers_list;
-       TnyIterator *iter;
-       TnyHeader *header;              
-
        if (MODEST_IS_MSG_VIEW_WINDOW (win)) {
                TnyMsg *msg;
+               TnyHeader *header;
 
                msg = modest_msg_view_window_get_message (MODEST_MSG_VIEW_WINDOW (win));
                if (!msg)
                        return;
-               g_object_unref (msg);           
-
-               headers_list = get_selected_headers (win);
-               if (!headers_list)
-                       return;
 
-               iter = tny_list_create_iterator (headers_list);
-
-               header = TNY_HEADER (tny_iterator_get_current (iter));
+               header = tny_msg_get_header (msg);
                if (header) {
                        headers_action_show_details (header, win, NULL);
                        g_object_unref (header);
                }
-
-               g_object_unref (iter);
-               g_object_unref (headers_list);
+               g_object_unref (msg);
 
        } else if (MODEST_IS_MAIN_WINDOW (win)) {
                GtkWidget *folder_view, *header_view;
@@ -4866,7 +4870,7 @@ on_move_to_dialog_response (GtkDialog *dialog,
                TnyFolderStore *dst_folder;
 
        case MODEST_GTK_RESPONSE_NEW_FOLDER:
-               modest_ui_actions_create_folder (GTK_WIDGET (parent_win), folder_view);
+               modest_ui_actions_create_folder (GTK_WIDGET (dialog), folder_view);
                return;
        case GTK_RESPONSE_NONE:
        case GTK_RESPONSE_CANCEL:
@@ -5322,7 +5326,7 @@ modest_ui_actions_on_main_window_remove_attachments (GtkAction *action,
  * Checks if we need a connection to do the transfer and if the user
  * wants to connect to complete it
  */
-void
+static void
 modest_ui_actions_xfer_messages_check (GtkWindow *parent_window,
                                       TnyFolderStore *src_folder,
                                       TnyList *headers,
@@ -5334,8 +5338,6 @@ modest_ui_actions_xfer_messages_check (GtkWindow *parent_window,
        TnyAccount *src_account;
        gint uncached_msgs = 0;
 
-       uncached_msgs = header_list_count_uncached_msgs (headers);
-
        /* We don't need any further check if
         *
         * 1- the source folder is local OR
@@ -5357,6 +5359,7 @@ modest_ui_actions_xfer_messages_check (GtkWindow *parent_window,
         * offline, it'll take place the next time we get a
         * connection)
         */
+       uncached_msgs = header_list_count_uncached_msgs (headers);
        src_account = get_account_from_folder_store (src_folder);
        if (uncached_msgs > 0) {
                guint num_headers;
@@ -5379,11 +5382,11 @@ modest_ui_actions_xfer_messages_check (GtkWindow *parent_window,
                if (remote_folder_has_leave_on_server (src_folder) && delete_originals) {
                        const gchar *account_name;
                        gboolean leave_on_server;
-                       
+
                        account_name = modest_tny_account_get_parent_modest_account_name_for_server_account (src_account);
                        leave_on_server = modest_account_mgr_get_leave_on_server (modest_runtime_get_account_mgr (),
                                                                                  account_name);
-                       
+
                        if (leave_on_server == TRUE) {
                                *need_connection = FALSE;
                        } else {
@@ -5402,10 +5405,19 @@ static void
 xfer_messages_error_handler (ModestMailOperation *mail_op, 
                             gpointer user_data)
 {
-       GObject *win = modest_mail_operation_get_source (mail_op);
-       modest_platform_run_information_dialog ((GtkWindow *) win, 
-                                               _("mail_in_ui_folder_move_target_error"), 
-                                               FALSE);
+       GObject *win;
+       const GError *error;
+
+       win = modest_mail_operation_get_source (mail_op);
+       error = modest_mail_operation_get_error (mail_op);
+
+       if (error && is_memory_full_error ((GError *) error))
+               modest_platform_information_banner ((GtkWidget *) win,
+                                                   NULL, _KR("cerm_device_memory_full"));
+       else
+               modest_platform_run_information_dialog ((GtkWindow *) win, 
+                                                       _("mail_in_ui_folder_move_target_error"), 
+                                                       FALSE);
        if (win)
                g_object_unref (win);
 }
@@ -5820,13 +5832,6 @@ modest_ui_actions_on_edit_mode_move_to (ModestWindow *win)
                main_window = 
                        MODEST_MAIN_WINDOW (modest_window_mgr_get_main_window (modest_runtime_get_window_mgr (),
                                                                               FALSE)); /* don't create */
-
-       /* Get the folder view widget if exists */
-       if (main_window)
-               folder_view = modest_main_window_get_child_widget (main_window,
-                                                                  MODEST_MAIN_WINDOW_WIDGET_TYPE_FOLDER_VIEW);
-       else
-               folder_view = NULL;
 #endif
 
        list_to_move = modest_platform_get_list_to_move (MODEST_WINDOW (win));
@@ -5896,10 +5901,12 @@ do_headers_action (ModestWindow *win,
 
        /* Trick: do a poke status in order to speed up the signaling
           of observers */
-       tny_folder_poke_status (folder);
+       if (folder) {
+               tny_folder_poke_status (folder);
+               g_object_unref (folder);
+       }
 
        /* Frees */
-       g_object_unref (folder);
        g_object_unref (iter);
        g_object_unref (headers_list);
 }
@@ -6297,7 +6304,7 @@ on_send_receive_finished (ModestMailOperation  *mail_op,
 }
 
 
-void 
+void
 modest_ui_actions_on_send_queue_error_happened (TnySendQueue *self, 
                                                TnyHeader *header, 
                                                TnyMsg *msg, 
@@ -6319,10 +6326,10 @@ modest_ui_actions_on_send_queue_error_happened (TnySendQueue *self,
 
 
        /* Get the server name: */
-       server_account = 
+       server_account =
                TNY_TRANSPORT_ACCOUNT (tny_camel_send_queue_get_transport_account (TNY_CAMEL_SEND_QUEUE (self)));
        if (server_account)
-               server_name = tny_account_get_hostname (TNY_ACCOUNT (server_account));          
+               server_name = tny_account_get_hostname (TNY_ACCOUNT (server_account));
        else
                g_return_if_reached ();
 
@@ -6341,7 +6348,7 @@ modest_ui_actions_on_send_queue_error_happened (TnySendQueue *self,
                g_warning ("%s: unexpected ERROR %d",
                           __FUNCTION__, err->code);
                message = g_strdup (_CS("sfil_ib_unable_to_send"));
-               break;  
+               break;
        }
 
        modest_platform_run_information_dialog (NULL, message, FALSE);