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) {
} 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 (),
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));
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 */
void
modest_mail_operation_get_msg (ModestMailOperation *self,
TnyHeader *header,
+ gboolean progress_feedback,
GetMsgAsyncUserCallback user_callback,
gpointer user_data)
{
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);
* 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.
*
* #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);
/**
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);
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);
}