* update for tinymail changes
[modest] / src / modest-mail-operation.c
index 2337bcc..c902b66 100644 (file)
@@ -37,6 +37,7 @@
 #include <tny-folder-store-query.h>
 #include <tny-camel-stream.h>
 #include <tny-simple-list.h>
+#include <tny-send-queue.h>
 #include <camel/camel-stream-mem.h>
 #include <glib/gi18n.h>
 #include <modest-tny-account.h>
@@ -204,7 +205,7 @@ modest_mail_operation_send_mail (ModestMailOperation *self,
        
        g_return_if_fail (MODEST_IS_MAIL_OPERATION (self));
        g_return_if_fail (TNY_IS_TRANSPORT_ACCOUNT (transport_account));
-
+       
        send_queue = TNY_SEND_QUEUE (modest_runtime_get_send_queue (transport_account));
        if (!TNY_IS_SEND_QUEUE(send_queue))
                g_printerr ("modest: could not find send queue for account\n");
@@ -215,7 +216,8 @@ modest_mail_operation_send_mail (ModestMailOperation *self,
                        g_printerr ("modest: error adding msg to send queue: %s\n",
                                    err->message);
                        g_error_free (err);
-               }
+               } else
+                       g_message ("modest: message added to send queue");
        }
 }
 
@@ -311,9 +313,7 @@ create_reply_forward_mail (TnyMsg *msg, const gchar *from, gboolean is_reply, gu
        g_object_unref (G_OBJECT(body));
        
        /* Fill the header */
-       new_header = TNY_HEADER (tny_platform_factory_new_header
-                                (modest_runtime_get_platform_factory()));
-       tny_msg_set_header (new_msg, new_header);
+       new_header = tny_msg_get_header (new_msg);      
        tny_header_set_from (new_header, from);
        tny_header_set_replyto (new_header, from);
 
@@ -468,10 +468,12 @@ folder_refresh_cb (TnyFolder *folder, gboolean canceled, GError **err, gpointer
                g_slice_free (RefreshFolderAsyncHelper, helper);
        } else {
                TnyFolder *folder = TNY_FOLDER (tny_iterator_get_current (helper->iter));
-               tny_folder_refresh_async (folder, folder_refresh_cb,
-                                         status_update_cb, 
-                                         helper);
-               g_object_unref (G_OBJECT(folder));
+               if (folder) {
+                       g_message ("modest: refreshing folder %s",
+                                  tny_folder_get_name (folder));
+                       tny_folder_refresh_async (folder, folder_refresh_cb, status_update_cb, helper);
+                       g_object_unref (G_OBJECT(folder)); // FIXME: don't unref yet
+               }
        }
        g_signal_emit (G_OBJECT (self), signals[PROGRESS_CHANGED_SIGNAL], 0, NULL);
 }
@@ -506,9 +508,12 @@ update_folders_cb (TnyFolderStore *folder_store, TnyList *list, GError **err, gp
 
        /* Async refresh folders */
        folder = TNY_FOLDER (tny_iterator_get_current (helper->iter));
-       tny_folder_refresh_async (folder, folder_refresh_cb,
-                                 status_update_cb, helper);
-       g_object_unref (G_OBJECT(folder));
+       if (folder) {
+               g_message ("modest: refreshing folder %s", tny_folder_get_name (folder));
+               tny_folder_refresh_async (folder, folder_refresh_cb,
+                                         status_update_cb, helper);
+       }
+       //g_object_unref (G_OBJECT(folder)); /* FIXME -==> don't unref yet... */
 }
 
 gboolean
@@ -526,12 +531,17 @@ modest_mail_operation_update_account (ModestMailOperation *self,
 
        /* Get subscribed folders & refresh them */
        folders = TNY_LIST (tny_simple_list_new ());
-       query = tny_folder_store_query_new ();
-       tny_folder_store_query_add_item (query, NULL, TNY_FOLDER_STORE_QUERY_OPTION_SUBSCRIBED);
+       query = NULL; //tny_folder_store_query_new ();
+
+       /* FIXME: is this needed? */
+       tny_device_force_online (TNY_DEVICE(modest_runtime_get_device()));
+       
+       /* FIXME: let query be NULL: do it for all */ 
+       //tny_folder_store_query_add_item (query, NULL, TNY_FOLDER_STORE_QUERY_OPTION_SUBSCRIBED);
        tny_folder_store_get_folders_async (TNY_FOLDER_STORE (store_account),
                                            folders, update_folders_cb, query, self);
-       g_object_unref (query);
-
+       //g_object_unref (query); /* FIXME */
+       
        return TRUE;
 }
 
@@ -679,7 +689,8 @@ modest_mail_operation_remove_folder (ModestMailOperation *self,
                tny_folder_store_remove_folder (parent, folder, &(priv->error));
                CHECK_EXCEPTION (priv, MODEST_MAIL_OPERATION_STATUS_FAILED, );
 
-               if (parent) g_object_unref (G_OBJECT (parent));
+               if (parent)
+                       g_object_unref (G_OBJECT (parent));
        }
        g_object_unref (G_OBJECT (account));
 }
@@ -818,11 +829,13 @@ modest_mail_operation_xfer_msg (ModestMailOperation *self,
 
        tny_list_prepend (headers, G_OBJECT (header));
        tny_folder_transfer_msgs_async (src_folder, headers, folder, 
-                                       delete_original, transfer_msgs_cb, self);
+                                       delete_original, transfer_msgs_cb, 
+                                       g_object_ref(self));
 
        /* Free */
-       g_object_unref (headers);
-       g_object_unref (src_folder);
+       /* FIXME: don't free 'm yet */
+       ///g_object_unref (headers);
+       ///g_object_unref (src_folder);
 
        return TRUE;
 }