info = (MsgReaderInfo *) user_data;
if (canceled || err) {
+ update_window_title (MODEST_MSG_VIEW_WINDOW (parent_window));
goto frees;
}
mail_op = modest_mail_operation_new_with_error_handling (G_OBJECT(parent_window),
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, info->header, TRUE, view_msg_cb, info->row_reference);
g_object_unref (mail_op);
response = modest_platform_run_confirmation_dialog (GTK_WINDOW (window),
_("mcen_nc_get_msg"));
- if (response == GTK_RESPONSE_CANCEL)
+ if (response == GTK_RESPONSE_CANCEL) {
+ update_window_title (window);
return FALSE;
-
+ }
+
folder = tny_header_get_folder (header);
info = g_slice_new (MsgReaderInfo);
info->header = g_object_ref (header);
row_reference = (GtkTreeRowReference *) user_data;
if (canceled) {
gtk_tree_row_reference_free (row_reference);
+ self = (ModestMsgViewWindow *) modest_mail_operation_get_source (mail_op);
+ if (self) {
+ /* Restore window title */
+ update_window_title (self);
+ g_object_unref (self);
+ }
return;
}
-
+
/* If there was any error */
if (!modest_ui_actions_msg_retrieval_check (mail_op, header, msg)) {
- gtk_tree_row_reference_free (row_reference);
+ gtk_tree_row_reference_free (row_reference);
+ self = (ModestMsgViewWindow *) modest_mail_operation_get_source (mail_op);
+ if (self) {
+ /* Restore window title */
+ update_window_title (self);
+ g_object_unref (self);
+ }
return;
}
TnyMsg *msg = NULL;
TnyHeader *header = NULL;
gchar *subject = NULL;
-
+
msg = tny_msg_view_get_msg (TNY_MSG_VIEW (priv->msg_view));
if (msg != NULL) {
/* main window dimming rules */
if (MODEST_IS_MAIN_WINDOW(win)) {
-
+
if (!dimmed) {
- dimmed = _selected_folder_is_empty (MODEST_MAIN_WINDOW(win));
+ dimmed = _selected_folder_is_empty (MODEST_MAIN_WINDOW(win));
if (dimmed)
modest_dimming_rule_set_notification (rule, _("mcen_ib_nothing_to_reply"));
}
}
/* msg view window dimming rules */
} else if (MODEST_IS_MSG_VIEW_WINDOW(win)) {
-
- /* Check dimmed rule */
+
+ /* This could happen if we load the msg view window with a
+ preview before loading the full message */
+ TnyMsg *msg = modest_msg_view_window_get_message (MODEST_MSG_VIEW_WINDOW (win));
+ if (!msg) {
+ dimmed = TRUE;
+ } else {
+ g_object_unref (msg);
+ }
+
if (!dimmed) {
- dimmed = _transfer_mode_enabled (win);
+ dimmed = _transfer_mode_enabled (win);
if (dimmed)
modest_dimming_rule_set_notification (rule, _("mail_ib_notavailable_downloading"));
}
modest_dimming_rule_set_notification (rule, _("mcen_ib_unable_to_reply"));
}
}
-
+
return dimmed;
}
}
}
else if (MODEST_IS_MSG_VIEW_WINDOW (win)) {
+ /* This could happen if we load the msg view window with a
+ preview before loading the full message */
+ TnyMsg *msg = modest_msg_view_window_get_message (MODEST_MSG_VIEW_WINDOW (win));
+ if (!msg) {
+ dimmed = TRUE;
+ } else {
+ g_object_unref (msg);
+ }
+
if (!dimmed) {
dimmed = state->any_marked_as_deleted;
if (dimmed) {
return dimmed;
}
-gboolean
+gboolean
modest_ui_dimming_rules_on_view_window_move_to (ModestWindow *win, gpointer user_data)
{
ModestDimmingRule *rule = NULL;
g_return_val_if_fail (MODEST_IS_DIMMING_RULE (user_data), FALSE);
rule = MODEST_DIMMING_RULE (user_data);
- /* Check dimmed rule */
- dimmed = _transfer_mode_enabled (win);
+ /* This could happen if we load the msg view window with a
+ preview before loading the full message */
+ TnyMsg *msg = modest_msg_view_window_get_message (MODEST_MSG_VIEW_WINDOW (win));
+ if (!msg) {
+ return TRUE;
+ } else {
+ g_object_unref (msg);
+ }
+
+ /* Check dimmed rule */
+
+ dimmed = _transfer_mode_enabled (win);
if (dimmed)
modest_dimming_rule_set_notification (rule, _("mail_ib_notavailable_downloading"));
if (!dimmed) {
g_return_val_if_fail (MODEST_IS_DIMMING_RULE (user_data), FALSE);
rule = MODEST_DIMMING_RULE (user_data);
+ /* This could happen if we load the msg view window with a
+ preview before loading the full message */
+ if (MODEST_IS_MSG_VIEW_WINDOW (win)) {
+ TnyMsg *msg = modest_msg_view_window_get_message (MODEST_MSG_VIEW_WINDOW (win));
+ if (!msg) {
+ return TRUE;
+ } else {
+ g_object_unref (msg);
+ }
+ }
+
/* Check dimmed rule */
- dimmed = _transfer_mode_enabled (win);
+ dimmed = _transfer_mode_enabled (win);
if (dimmed)
modest_dimming_rule_set_notification (rule, _("mail_ib_notavailable_downloading"));