fixes NB#62700, NB#62963
authorPeter Csaszar <pcsaszar@blumsoft.eu>
Thu, 23 Aug 2007 13:14:29 +0000 (13:14 +0000)
committerPeter Csaszar <pcsaszar@blumsoft.eu>
Thu, 23 Aug 2007 13:14:29 +0000 (13:14 +0000)
pmo-trunk-r3054

src/modest-ui-actions.c
src/modest-ui-actions.h
src/widgets/modest-folder-view.c
src/widgets/modest-header-view.c

index 672ba2c..48363a2 100644 (file)
@@ -143,11 +143,11 @@ static gboolean
 download_uncached_messages (TnyList *header_list, GtkWindow *win);
 
 
-static gint
+/*static gint
 msgs_move_to_confirmation (GtkWindow *win,
                           TnyFolder *dest_folder,
                           gboolean delete,
-                          TnyList *headers);
+                          TnyList *headers);*/
 
 
 /* Show the account creation wizard dialog.
@@ -3478,7 +3478,7 @@ has_retrieved_msgs (TnyList *list)
  * response. If it's other kind of movement the it always returns
  * GTK_RESPONSE_OK
  */
-static gint
+gint
 msgs_move_to_confirmation (GtkWindow *win,
                           TnyFolder *dest_folder,
                           gboolean delete,
index a22722a..04c4343 100644 (file)
@@ -458,5 +458,10 @@ void modest_do_message_delete (TnyHeader *header, ModestWindow *win);
  */
 gboolean modest_run_account_setup_wizard (ModestWindow *win);
 
+gint msgs_move_to_confirmation (GtkWindow *win,
+                          TnyFolder *dest_folder,
+                          gboolean delete,
+                          TnyList *headers);
+
 G_END_DECLS
 #endif /* __MODEST_UI_ACTIONS_H__ */
index 33ecd49..989c03a 100644 (file)
@@ -1512,7 +1512,8 @@ drag_and_drop_from_header_view (GtkTreeModel *source_model,
        TnyFolder *folder = NULL;
        ModestMailOperation *mail_op = NULL;
        GtkTreeIter source_iter;
-       ModestWindowMgr *mgr = NULL;
+       ModestWindowMgr *mgr = NULL; /*no need for unref*/
+       ModestWindow *main_win = NULL; /*no need for unref*/
 
        g_return_if_fail (GTK_IS_TREE_MODEL(source_model));
        g_return_if_fail (GTK_IS_TREE_MODEL(dest_model));
@@ -1534,7 +1535,7 @@ drag_and_drop_from_header_view (GtkTreeModel *source_model,
        mgr = modest_runtime_get_window_mgr ();
        if (modest_window_mgr_find_registered_header(mgr, header, NULL))
                goto cleanup;
-       
+
        /* Get Folder */
        folder = tree_path_to_folder (dest_model, dest_row);
        if (!TNY_IS_FOLDER(folder)) {
@@ -1547,6 +1548,13 @@ drag_and_drop_from_header_view (GtkTreeModel *source_model,
                goto cleanup;
        }
        
+       headers = tny_simple_list_new ();
+       tny_list_append (headers, G_OBJECT (header));
+
+       main_win = modest_window_mgr_get_main_window(mgr);
+       if(msgs_move_to_confirmation(GTK_WINDOW(main_win), folder, TRUE, headers)
+                       == GTK_RESPONSE_CANCEL)
+               goto cleanup;
 
        /* Transfer message */
        mail_op = modest_mail_operation_new_with_error_handling (MODEST_MAIL_OPERATION_TYPE_RECEIVE, 
@@ -1558,8 +1566,6 @@ drag_and_drop_from_header_view (GtkTreeModel *source_model,
        g_signal_connect (G_OBJECT (mail_op), "progress-changed",
                          G_CALLBACK (on_progress_changed), helper);
 
-       headers = tny_simple_list_new ();
-       tny_list_append (headers, G_OBJECT (header));
        modest_mail_operation_xfer_msgs (mail_op, 
                                         headers, 
                                         folder, 
index d9df75a..05a4e59 100644 (file)
@@ -1338,7 +1338,7 @@ drag_data_get_cb (GtkWidget *widget, GdkDragContext *context,
        GtkTreeModel *model = NULL;
        GtkTreeIter iter;
        GtkTreePath *source_row = NULL;
-       GtkTreeSelection *sel = NULL;   
+/*     GtkTreeSelection *sel = NULL;*/
        
        source_row = get_selected_row (GTK_TREE_VIEW (widget), &model);
        
@@ -1362,12 +1362,15 @@ drag_data_get_cb (GtkWidget *widget, GdkDragContext *context,
                g_message ("%s: default switch case.", __FUNCTION__);
        }
 
+       /* commenting out the next, fixes NB#62963 */
+#if 0
        /* Set focus on next header */
        sel = gtk_tree_view_get_selection(GTK_TREE_VIEW (widget));
        gtk_tree_path_next (source_row);
        gtk_tree_selection_select_path (sel, source_row);
 
        gtk_tree_path_free (source_row);
+#endif
 }
 
 /* Header view drag types */