* switch the focus to the renamed folder... fixes NB#63002
[modest] / src / modest-ui-actions.c
index e62e8ce..96a8b2d 100644 (file)
@@ -254,8 +254,8 @@ headers_action_delete (TnyHeader *header,
        g_object_unref (G_OBJECT (mail_op));
 
        /* refilter treemodel to hide marked-as-deleted rows */
-       if (MODEST_IS_HEADER_VIEW (user_data))
-               modest_header_view_refilter (MODEST_HEADER_VIEW (user_data));
+/*     if (MODEST_IS_HEADER_VIEW (user_data)) */
+/*             modest_header_view_refilter (MODEST_HEADER_VIEW (user_data)); */
 }
 
 void
@@ -1839,7 +1839,6 @@ modest_ui_actions_on_save_to_drafts (GtkWidget *widget, ModestMsgEditWindow *edi
        gchar *account_name, *from;
        ModestAccountMgr *account_mgr;
        gchar *info_text = NULL;
-       TnyMsg *new_draft = NULL;
 
        g_return_if_fail (MODEST_IS_MSG_EDIT_WINDOW(edit_window));
        
@@ -1876,18 +1875,19 @@ modest_ui_actions_on_save_to_drafts (GtkWidget *widget, ModestMsgEditWindow *edi
        mail_operation = modest_mail_operation_new (MODEST_MAIL_OPERATION_TYPE_INFO, G_OBJECT(edit_window));
        modest_mail_operation_queue_add (modest_runtime_get_mail_operation_queue (), mail_operation);
 
-       new_draft = modest_mail_operation_save_to_drafts (mail_operation,
-                                                         transport_account,
-                                                         data->draft_msg,
-                                                         from,
-                                                         data->to, 
-                                                         data->cc, 
-                                                         data->bcc,
-                                                         data->subject, 
-                                                         data->plain_body, 
-                                                         data->html_body,
-                                                         data->attachments,
-                                                         data->priority_flags);
+       modest_mail_operation_save_to_drafts (mail_operation,
+                                             transport_account,
+                                             data->draft_msg,
+                                             edit_window,
+                                             from,
+                                             data->to, 
+                                             data->cc, 
+                                             data->bcc,
+                                             data->subject, 
+                                             data->plain_body, 
+                                             data->html_body,
+                                             data->attachments,
+                                             data->priority_flags);
        /* Frees */
        g_free (from);
        g_free (account_name);
@@ -1896,10 +1896,6 @@ modest_ui_actions_on_save_to_drafts (GtkWidget *widget, ModestMsgEditWindow *edi
 
        modest_msg_edit_window_free_msg_data (edit_window, data);
 
-       modest_msg_edit_window_set_draft (edit_window, new_draft);
-       if (new_draft != NULL)
-               g_object_unref (new_draft);
-
        info_text = g_strdup_printf (_("mail_va_saved_to_drafts"), _("mcen_me_folder_drafts"));
        modest_platform_information_banner (NULL, NULL, info_text);
        g_free (info_text);
@@ -2174,6 +2170,7 @@ modest_ui_actions_new_folder_error_handler (ModestMailOperation *mail_op,
                                            modest_mail_operation_get_error (mail_op)->message);*/
 }
 
+
 void 
 modest_ui_actions_on_new_folder (GtkAction *action, ModestMainWindow *main_window)
 {
@@ -2221,6 +2218,14 @@ modest_ui_actions_on_new_folder (GtkAction *action, ModestMainWindow *main_windo
                                                                                  parent_folder,
                                                                                  (const gchar *) folder_name);
                                if (new_folder) {
+                                       if (main_window) {
+                                               folder_view = modest_main_window_get_child_widget (main_window,
+                                                                                                  MODEST_WIDGET_TYPE_FOLDER_VIEW);
+                                               if (folder_view)
+                                                       modest_folder_view_select_folder (MODEST_FOLDER_VIEW(folder_view), 
+                                                                                         new_folder, TRUE);
+                                       }
+
                                        g_object_unref (new_folder);
                                        finished = TRUE;
                                }
@@ -2309,6 +2314,9 @@ modest_ui_actions_on_rename_folder (GtkAction *action,
                                                         mail_op);
 
                        modest_header_view_clear (MODEST_HEADER_VIEW (header_view));
+                       
+                       modest_folder_view_select_folder (MODEST_FOLDER_VIEW(folder_view),
+                                                         TNY_FOLDER(folder), TRUE);
 
                        modest_mail_operation_rename_folder (mail_op,
                                                             TNY_FOLDER (folder),
@@ -3122,7 +3130,7 @@ modest_ui_actions_on_check_names (GtkAction *action, ModestMsgEditWindow *window
 
 
 static GtkWidget*
-create_move_to_dialog (ModestWindow *win,
+create_move_to_dialog (GtkWindow *win,
                       GtkWidget *folder_view,
                       GtkWidget **tree_view)
 {
@@ -3157,6 +3165,8 @@ create_move_to_dialog (ModestWindow *win,
                modest_folder_view_update_model (MODEST_FOLDER_VIEW (*tree_view), 
                                                 TNY_ACCOUNT_STORE (modest_runtime_get_account_store ()));
 
+       modest_folder_view_show_non_move_folders(MODEST_FOLDER_VIEW (*tree_view), FALSE);
+       
        gtk_container_add (GTK_CONTAINER (scroll), *tree_view);
 
        /* Add scroll to dialog */
@@ -3480,9 +3490,10 @@ modest_ui_actions_on_main_window_move_to (GtkAction *action,
                                                           MODEST_WIDGET_TYPE_HEADER_VIEW);
 
        /* Create and run the dialog */
-       dialog = create_move_to_dialog (MODEST_WINDOW (win), folder_view, &tree_view);
+       dialog = create_move_to_dialog (GTK_WINDOW(win), folder_view, &tree_view);
        modest_folder_view_select_first_inbox_or_local (MODEST_FOLDER_VIEW (tree_view));
        result = gtk_dialog_run (GTK_DIALOG(dialog));
+       modest_folder_view_show_non_move_folders(MODEST_FOLDER_VIEW (tree_view), TRUE);
        g_object_ref (tree_view);
 
        /* We do this to save an indentation level ;-) */
@@ -3593,8 +3604,9 @@ modest_ui_actions_on_msg_view_window_move_to (GtkAction *action,
                folder_view = NULL;
 
        /* Create and run the dialog */
-       dialog = create_move_to_dialog (MODEST_WINDOW (win), folder_view, &tree_view);  
+       dialog = create_move_to_dialog (GTK_WINDOW (win), folder_view, &tree_view);     
        result = gtk_dialog_run (GTK_DIALOG(dialog));
+       modest_folder_view_show_non_move_folders(MODEST_FOLDER_VIEW (tree_view), TRUE);
 
        if (result == GTK_RESPONSE_ACCEPT) {
                TnyFolderStore *folder_store;