-
-/*
- * Marks a message as read and passes it to the msg preview widget
- */
-static void
-read_msg_func (gpointer data, gpointer user_data)
-{
- TnyMsg *msg;
- TnyHeader *header;
- GetMsgAsyncHelper *helper;
- TnyHeaderFlags header_flags;
- GtkWidget *msg_preview;
-
- msg = TNY_MSG (data);
- helper = (GetMsgAsyncHelper *) user_data;
-
- msg_preview = modest_main_window_get_child_widget (MODEST_MAIN_WINDOW (helper->window),
- MODEST_WIDGET_TYPE_MSG_PREVIEW);
- if (!msg_preview)
- return;
-
- header = TNY_HEADER (tny_iterator_get_current (helper->iter));
- header_flags = tny_header_get_flags (header);
- tny_header_set_flags (header, header_flags | TNY_HEADER_FLAG_SEEN);
- g_object_unref (G_OBJECT (header));
-
- /* Set message on msg view */
- modest_msg_view_set_message (MODEST_MSG_VIEW(msg_preview), msg);
-}
-
-/*
- * This function is a generic handler for the tny_folder_get_msg_async
- * call. It expects as user_data a #GetMsgAsyncHelper. This helper
- * contains a user provided function that is called inside this
- * method. This will allow us to use this callback in many different
- * places. This callback performs the common actions for the
- * get_msg_async call, more specific actions will be done by the user
- * function
- */
-static void
-get_msg_cb (TnyFolder *folder, TnyMsg *msg, GError **err, gpointer user_data)
-{
- GetMsgAsyncHelper *helper;
-
- helper = (GetMsgAsyncHelper *) user_data;
-
- /* Check errors */
- if ((*err && ((*err)->code == TNY_FOLDER_ERROR_GET_MSG)) || !msg) {
- modest_ui_actions_on_item_not_found (NULL,
- MODEST_ITEM_TYPE_MESSAGE,
- helper->window);
- return;
- }
-
- /* Call user function */
- if (helper->func)
- helper->func (msg, user_data);
-
- /* Process next element (if exists) */
- tny_iterator_next (helper->iter);
- if (tny_iterator_is_done (helper->iter)) {
- /* Notify the queue */
- if (helper->mail_op != NULL)
- modest_mail_operation_queue_remove (modest_runtime_get_mail_operation_queue (), helper->mail_op);
-
- /* Free resources */
- TnyList *headers;
- ReplyForwardHelper *rf_helper = (ReplyForwardHelper *) helper->user_data;
- headers = tny_iterator_get_list (helper->iter);
- g_object_unref (G_OBJECT (headers));
- g_object_unref (G_OBJECT (helper->iter));
- if (rf_helper != NULL) {
- g_free (rf_helper->account_name);
- g_slice_free (ReplyForwardHelper, rf_helper);
- }
- g_slice_free (GetMsgAsyncHelper, helper);
- } else {
- TnyHeader *header;
- header = TNY_HEADER (tny_iterator_get_current (helper->iter));
-/* tny_folder_get_msg_async (folder, header, */
-/* get_msg_cb, NULL, helper); */
- modest_mail_operation_process_msg (helper->mail_op, header, helper->num_ops, get_msg_cb, helper);
-
- g_object_unref (G_OBJECT(header));
- }
-}
-