* Merged from trunk revisions 4467, 4472, 4485
authorSergio Villar Senin <svillar@igalia.com>
Tue, 10 Jun 2008 10:08:54 +0000 (10:08 +0000)
committerSergio Villar Senin <svillar@igalia.com>
Tue, 10 Jun 2008 10:08:54 +0000 (10:08 +0000)
pmo-diablo-r4629

src/dbus_api/modest-dbus-callbacks.c
src/maemo/modest-msg-view-window.c
src/modest-mail-operation.c
src/modest-mail-operation.h
src/modest-ui-actions.c

index d4edd59..34a065f 100644 (file)
@@ -471,18 +471,11 @@ find_msg_async_cb (TnyFolder *folder,
         if (modest_window_mgr_find_registered_header (win_mgr, header, &msg_view)) {
                 gtk_window_present (GTK_WINDOW(msg_view));
         } else {
-                const gchar *modest_account_name;
                 TnyAccount *account;
 
                 modest_window_mgr_register_header (win_mgr, header, NULL);
 
                 account = tny_folder_get_account (folder);
-                if (account) {
-                        modest_account_name =
-                                modest_tny_account_get_parent_modest_account_name_for_server_account (account);
-                } else {
-                        modest_account_name = NULL;
-                }
                         
                 /* Drafts will be opened in the editor, and others will be opened in the viewer */
                 if (is_draft) {
@@ -533,13 +526,14 @@ find_msg_async_cb (TnyFolder *folder,
                        } else {
                                modest_account_name = NULL;
                        }
+                       
+                       header = tny_msg_get_header (msg);
+                       msg_view = modest_msg_view_window_new_for_search_result (msg, modest_account_name, msg_uid);
 
-                        header = tny_msg_get_header (msg);
-                        msg_view = modest_msg_view_window_new_for_search_result (msg, modest_account_name, msg_uid);
-                        if (! (tny_header_get_flags (header) & TNY_HEADER_FLAG_SEEN)) {
+                       if (!(tny_header_get_flags (header) & TNY_HEADER_FLAG_SEEN)) {
                                ModestMailOperation *mail_op;
                                
-                                tny_header_set_flag (header, TNY_HEADER_FLAG_SEEN);
+                               tny_header_set_flag (header, TNY_HEADER_FLAG_SEEN);     
                                /* Sync folder, we need this to save the seen flag */
                                mail_op = modest_mail_operation_new (NULL);
                                modest_mail_operation_queue_add (modest_runtime_get_mail_operation_queue (),
@@ -547,9 +541,8 @@ find_msg_async_cb (TnyFolder *folder,
                                modest_mail_operation_sync_folder (mail_op, folder, FALSE);
                                g_object_unref (mail_op);
                        }
-                        g_object_unref (header);
-                }
-
+                       g_object_unref (header);                        
+               }
                if (msg_view != NULL) {
                        modest_window_mgr_register_window (win_mgr, msg_view);
                        gtk_widget_show_all (GTK_WIDGET (msg_view));
index 4c9f333..51de81b 100644 (file)
@@ -1714,7 +1714,7 @@ message_reader_performer (gboolean canceled,
                                                                 NULL, NULL);
                                
        modest_mail_operation_queue_add (modest_runtime_get_mail_operation_queue (), mail_op);
-       modest_mail_operation_get_msg (mail_op, info->header, view_msg_cb, info->row_reference);
+       modest_mail_operation_get_msg (mail_op, info->header, TRUE, view_msg_cb, info->row_reference);
        g_object_unref (mail_op);
 
        /* Update dimming rules */
index 0988394..3c3e990 100644 (file)
@@ -2192,6 +2192,7 @@ modest_mail_operation_rename_folder (ModestMailOperation *self,
 void 
 modest_mail_operation_get_msg (ModestMailOperation *self,
                               TnyHeader *header,
+                              gboolean progress_feedback,
                               GetMsgAsyncUserCallback user_callback,
                               gpointer user_data)
 {
@@ -2220,10 +2221,14 @@ modest_mail_operation_get_msg (ModestMailOperation *self,
        priv->account = modest_tny_folder_get_account (TNY_FOLDER(folder));
        
        /* Check for cached messages */
-       if (tny_header_get_flags (header) & TNY_HEADER_FLAG_CACHED)
-               priv->op_type = MODEST_MAIL_OPERATION_TYPE_OPEN;
-       else 
-               priv->op_type = MODEST_MAIL_OPERATION_TYPE_RECEIVE;
+       if (progress_feedback) {
+               if (tny_header_get_flags (header) & TNY_HEADER_FLAG_CACHED)
+                       priv->op_type = MODEST_MAIL_OPERATION_TYPE_OPEN;
+               else 
+                       priv->op_type = MODEST_MAIL_OPERATION_TYPE_RECEIVE;
+       } else {
+               priv->op_type = MODEST_MAIL_OPERATION_TYPE_UNKNOWN;
+       }
        
        /* Create the helper */
        helper = g_slice_new0 (GetMsgInfo);
index 1e44cf5..7c43ac0 100644 (file)
@@ -592,6 +592,7 @@ void          modest_mail_operation_remove_msgs     (ModestMailOperation *self,
  * modest_mail_operation_get_msg:
  * @self: a #ModestMailOperation
  * @header_list: the #TnyHeader of the message to get
+ * @progress_feedback: a #gboolean. If %TRUE, we'll get progress bar feedback.
  * @user_callback: a #GetMsgAsyncUserCallback function to call after tinymail callback execution.
  * @user_data: generic user data which will be passed to @user_callback function.
  * 
@@ -600,7 +601,8 @@ void          modest_mail_operation_remove_msgs     (ModestMailOperation *self,
  * #ModestMailOperation should be added to #ModestMailOperationQueue
  **/
 void          modest_mail_operation_get_msg     (ModestMailOperation *self,
-                                                TnyHeader *header, 
+                                                TnyHeader *header,
+                                                gboolean progress_feedback,
                                                 GetMsgAsyncUserCallback user_callback,
                                                 gpointer user_data);
 /**
index 1bf4c95..c3e8754 100644 (file)
@@ -1627,7 +1627,7 @@ reply_forward_performer (gboolean canceled,
                                                                 modest_ui_actions_disk_operations_error_handler,
                                                                 NULL, NULL);
        modest_mail_operation_queue_add (modest_runtime_get_mail_operation_queue (), mail_op);
-       modest_mail_operation_get_msg (mail_op, rf_helper->header, reply_forward_cb, rf_helper);
+       modest_mail_operation_get_msg (mail_op, rf_helper->header, TRUE, reply_forward_cb, rf_helper);
 
        /* Frees */
        g_object_unref(mail_op);
@@ -4918,7 +4918,7 @@ modest_ui_actions_on_main_window_remove_attachments (GtkAction *action,
                                                                         modest_ui_actions_disk_operations_error_handler,
                                                                         NULL, NULL);
                modest_mail_operation_queue_add (modest_runtime_get_mail_operation_queue (), mail_op);
-               modest_mail_operation_get_msg (mail_op, header, open_msg_for_purge_cb, win);
+               modest_mail_operation_get_msg (mail_op, header, FALSE, open_msg_for_purge_cb, win);
                
                g_object_unref (mail_op);
        }