File bnc-441763-diff-meeting-icon.patch of Package evolution

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));
openSUSE Build Service is sponsored by