Changeset 2672
- Timestamp:
- 09/03/07 13:41:46
- Files:
-
- trunk/libtinymail-camel/tny-camel-full-msg-receive-strategy.c (modified) (1 diff)
- trunk/libtinymail-camel/tny-camel-mime-part.c (modified) (2 diffs)
- trunk/libtinymail-camel/tny-camel-msg-header-priv.h (modified) (2 diffs)
- trunk/libtinymail-camel/tny-camel-msg-header.c (modified) (4 diffs)
- trunk/libtinymail-camel/tny-camel-msg-priv.h (modified) (2 diffs)
- trunk/libtinymail-camel/tny-camel-msg.c (modified) (4 diffs)
- trunk/libtinymail-camel/tny-camel-partial-msg-receive-strategy.c (modified) (1 diff)
- trunk/tests/c-demo/tny-demoui-summary-view.c (modified) (4 diffs)
Legend:
- Unmodified
- Added
- Removed
- Modified
- Copied
- Moved
trunk/libtinymail-camel/tny-camel-full-msg-receive-strategy.c
r2367 r2672 89 89 if (camel_message && CAMEL_IS_OBJECT (camel_message)) 90 90 { 91 TnyHeader *nheader = _tny_camel_msg_header_new (CAMEL_MIME_MESSAGE (camel_message), folder); 91 TnyHeader *nheader = NULL; 92 93 nheader = _tny_camel_msg_header_new (CAMEL_MIME_MESSAGE (camel_message), 94 folder, tny_header_get_date_received (header)); 92 95 93 96 message = tny_camel_msg_new (); 97 _tny_camel_msg_set_received (TNY_CAMEL_MSG (message), 98 tny_header_get_date_received (header)); 94 99 _tny_camel_msg_set_folder (TNY_CAMEL_MSG (message), folder); 95 100 TNY_CAMEL_MSG_HEADER (nheader)->old_uid = g_strdup (tny_header_get_uid (header)); trunk/libtinymail-camel/tny-camel-mime-part.c
r2480 r2672 151 151 if (CAMEL_IS_MIME_MESSAGE (tpart)) 152 152 { 153 TnyHeader *nheader = _tny_camel_msg_header_new (CAMEL_MIME_MESSAGE (tpart), NULL);153 TnyHeader *nheader = NULL; 154 154 155 155 newpart = TNY_MIME_PART (tny_camel_msg_new ()); 156 _tny_camel_mime_part_set_part (TNY_CAMEL_MIME_PART (newpart), CAMEL_MIME_PART (tpart)); 157 158 nheader = _tny_camel_msg_header_new (CAMEL_MIME_MESSAGE (tpart), NULL, 159 camel_mime_message_get_date_received (CAMEL_MIME_MESSAGE (tpart), NULL)); 156 160 _tny_camel_msg_set_header (TNY_CAMEL_MSG (newpart), nheader); 157 _tny_camel_mime_part_set_part (TNY_CAMEL_MIME_PART (newpart), CAMEL_MIME_PART (tpart)); 158 g_object_unref ( G_OBJECT (nheader));161 162 g_object_unref (nheader); 159 163 } 160 164 else if (camel_content_type_is (type, "message", "rfc822")) … … 164 168 if (c && CAMEL_IS_MIME_PART (c) && CAMEL_IS_MIME_MESSAGE (c)) 165 169 { 166 TnyHeader *nheader = _tny_camel_msg_header_new (CAMEL_MIME_MESSAGE (c), NULL); 170 TnyHeader *nheader = NULL; 171 167 172 newpart = TNY_MIME_PART (tny_camel_msg_new ()); 173 _tny_camel_mime_part_set_part (TNY_CAMEL_MIME_PART (newpart), CAMEL_MIME_PART (c)); 174 nheader = _tny_camel_msg_header_new (CAMEL_MIME_MESSAGE (c), NULL, 175 camel_mime_message_get_date_received (CAMEL_MIME_MESSAGE (c), NULL)); 168 176 _tny_camel_msg_set_header (TNY_CAMEL_MSG (newpart), nheader); 169 _tny_camel_mime_part_set_part (TNY_CAMEL_MIME_PART (newpart), CAMEL_MIME_PART (c)); 170 g_object_unref ( G_OBJECT (nheader));177 178 g_object_unref (nheader); 171 179 } 172 180 trunk/libtinymail-camel/tny-camel-msg-header-priv.h
r2069 r2672 50 50 CamelMimeMessage *msg; 51 51 gchar *mime_from, *old_uid; 52 gboolean has_received; 53 time_t received; 52 54 }; 53 55 … … 58 60 59 61 GType tny_camel_msg_header_get_type (void); 60 TnyHeader* _tny_camel_msg_header_new (CamelMimeMessage *msg, TnyFolder *folder );62 TnyHeader* _tny_camel_msg_header_new (CamelMimeMessage *msg, TnyFolder *folder, time_t received); 61 63 62 64 G_END_DECLS trunk/libtinymail-camel/tny-camel-msg-header.c
r2654 r2672 277 277 int tzone; 278 278 279 /* first try _received, if that doesn't work, use the Date: header 280 * however, Date: is set by the *sender* so will not be totally 281 * accurate 282 * 283 * NOTE: we ignore the timezone, as the camel function already 284 * returns a UTC-normalized time_t 285 * */ 279 if (me->has_received) 280 return me->received; 281 286 282 retval = camel_mime_message_get_date_received (me->msg, &tzone); 287 283 if (retval == CAMEL_MESSAGE_DATE_CURRENT) … … 291 287 if (retval == CAMEL_MESSAGE_DATE_CURRENT) 292 288 return 0; 293 else 294 return retval;289 290 return retval; 295 291 } 296 292 … … 430 426 431 427 TnyHeader* 432 _tny_camel_msg_header_new (CamelMimeMessage *msg, TnyFolder *folder )428 _tny_camel_msg_header_new (CamelMimeMessage *msg, TnyFolder *folder, time_t received) 433 429 { 434 430 TnyCamelMsgHeader *self = g_object_new (TNY_TYPE_CAMEL_MSG_HEADER, NULL); … … 438 434 and remove it in the finalize. Same for folder. */ 439 435 436 if (received == -1) 437 self->has_received = FALSE; 438 self->received = received; 440 439 self->old_uid = NULL; 441 440 self->msg = msg; 442 441 self->folder = folder; 442 self->has_received = FALSE; 443 443 444 444 return (TnyHeader*) self; trunk/libtinymail-camel/tny-camel-msg-priv.h
r1700 r2672 34 34 TnyFolder *folder; 35 35 TnyHeader *header; 36 time_t received; 36 37 }; 37 38 … … 39 40 void _tny_camel_msg_set_folder (TnyCamelMsg *self, TnyFolder *folder); 40 41 void _tny_camel_msg_set_header (TnyCamelMsg *self, TnyHeader *header); 42 void _tny_camel_msg_set_received (TnyCamelMsg *self, time_t received); 41 43 42 44 #endif trunk/libtinymail-camel/tny-camel-msg.c
r2287 r2672 85 85 (G_TYPE_INSTANCE_GET_PRIVATE ((o), TNY_TYPE_CAMEL_MSG, TnyCamelMsgPriv)) 86 86 87 /*88 new = ppriv->part89 camel_medium_add_header (CAMEL_MEDIUM (new), "Disposition-Notification-To", mdn_address);90 camel_medium_add_header (CAMEL_MEDIUM (new), "X-Priority", "1");91 */92 87 93 88 CamelMimeMessage* … … 121 116 } 122 117 118 119 120 void 121 _tny_camel_msg_set_received (TnyCamelMsg *self, time_t received) 122 { 123 TnyCamelMsgPriv *priv = TNY_CAMEL_MSG_GET_PRIVATE (self); 124 priv->received = received; 125 } 123 126 124 127 void … … 237 240 msg = _tny_camel_msg_get_camel_mime_message (TNY_CAMEL_MSG (self)); 238 241 /* Read _tny_camel_msg_header_new too! */ 239 priv->header = _tny_camel_msg_header_new (msg, priv->folder );242 priv->header = _tny_camel_msg_header_new (msg, priv->folder, priv->received); 240 243 if (priv->folder) 241 244 ((TnyCamelMsgHeader *)priv->header)->folder = priv->folder; … … 387 390 priv->header_lock = g_mutex_new (); 388 391 priv->folder_lock = g_mutex_new (); 392 priv->received = -1; 389 393 390 394 return; trunk/libtinymail-camel/tny-camel-partial-msg-receive-strategy.c
r2367 r2672 90 90 if (camel_message && CAMEL_IS_OBJECT (camel_message)) 91 91 { 92 TnyHeader *nheader = _tny_camel_msg_header_new (CAMEL_MIME_MESSAGE (camel_message), folder); 93 92 TnyHeader *nheader = NULL; 93 94 nheader = _tny_camel_msg_header_new (CAMEL_MIME_MESSAGE (camel_message), folder, 95 tny_header_get_date_received (header)); 94 96 message = tny_camel_msg_new (); 97 _tny_camel_msg_set_received (TNY_CAMEL_MSG (message), 98 tny_header_get_date_received (header)); 95 99 _tny_camel_msg_set_folder (TNY_CAMEL_MSG (message), folder); 96 100 TNY_CAMEL_MSG_HEADER (nheader)->old_uid = g_strdup (tny_header_get_uid (header)); trunk/tests/c-demo/tny-demoui-summary-view.c
r2670 r2672 456 456 a_iter = tny_list_create_iterator (accounts); 457 457 458 GObject *a_cur = TNY_ACCOUNT (tny_iterator_get_current (a_iter));458 GObject *a_cur = tny_iterator_get_current (a_iter); 459 459 460 460 g_object_unref (a_iter); … … 463 463 printf ("%d\n", a_cur->ref_count); 464 464 465 /* This is indeed incorrect, don't use this */ 465 466 g_object_unref (a_cur); 466 467 g_object_unref (a_cur); … … 469 470 g_object_unref (a_cur); 470 471 472 return; 471 473 } 472 474 … … 1874 1876 1875 1877 renderer = gtk_cell_renderer_text_new (); 1876 column = gtk_tree_view_column_new_with_attributes (_("Date "), renderer,1877 "text", TNY_GTK_HEADER_LIST_MODEL_DATE_ RECEIVED_COLUMN, NULL);1878 column = gtk_tree_view_column_new_with_attributes (_("Date sent"), renderer, 1879 "text", TNY_GTK_HEADER_LIST_MODEL_DATE_SENT_COLUMN, NULL); 1878 1880 gtk_tree_view_column_set_sort_column_id (column, TNY_GTK_HEADER_LIST_MODEL_DATE_RECEIVED_COLUMN); 1879 1881 gtk_tree_view_column_set_sizing (column, GTK_TREE_VIEW_COLUMN_FIXED);
