Index: plugins/itip-formatter/itip-formatter.c =================================================================== --- plugins/itip-formatter/itip-formatter.c (revision 35684) +++ plugins/itip-formatter/itip-formatter.c (working copy) @@ -2242,6 +2242,11 @@ format_itip (EPlugin *ep, EMFormatHookTa classid = g_strdup_printf("itip:///%s", ((EMFormat *) target->format)->part_id->str); + /* mark message as containing calendar, thus it will show the icon in message list now on */ + if (target->format->uid && target->format->folder && + !camel_folder_get_message_user_flag (target->format->folder, target->format->uid, "$has_cal")) + camel_folder_set_message_user_flag (target->format->folder, target->format->uid, "$has_cal", TRUE); + puri = (struct _itip_puri *)em_format_add_puri(target->format, sizeof(struct _itip_puri), classid, target->part, itip_attachment_frame); pobj = em_format_html_add_pobject ((EMFormatHTML *) target->format, sizeof (EMFormatHTMLPObject), classid, target->part, format_itip_object); Index: mail/message-list.c =================================================================== --- mail/message-list.c (revision 35684) +++ mail/message-list.c (working copy) @@ -234,6 +234,7 @@ static struct { { "stock_score-highest", NULL }, { "stock_mail-flag-for-followup", NULL }, { "stock_mail-flag-for-followup-done", NULL }, + { "stock_new-meeting", NULL } }; /* FIXME: junk prefs */ @@ -1339,6 +1340,8 @@ ml_tree_value_at (ETreeModel *etm, ETree str = camel_message_info_user_tag(msg_info, "follow-up"); return (void *)(str ? str : ""); case COL_ATTACHMENT: + if (camel_message_info_user_flag (msg_info, "$has_cal")) + return GINT_TO_POINTER (2); return GINT_TO_POINTER ((camel_message_info_flags(msg_info) & CAMEL_MESSAGE_ATTACHMENTS) != 0); case COL_FROM: str = camel_message_info_from (msg_info); @@ -1733,8 +1736,9 @@ message_list_create_extras (void) for (i = 0; i < 2; i++) images [i] = states_pixmaps [i + 6].pixbuf; + images [2] = states_pixmaps [18].pixbuf; - e_table_extras_add_cell (extras, "render_attachment", e_cell_toggle_new (0, 2, images)); + e_table_extras_add_cell (extras, "render_attachment", e_cell_toggle_new (0, 3, images)); images [1] = states_pixmaps [8].pixbuf; e_table_extras_add_cell (extras, "render_flagged", e_cell_toggle_new (0, 2, images));