Changeset 2173
- Timestamp:
- 06/15/07 10:12:42
- Files:
-
- trunk/ChangeLog (modified) (1 diff)
- trunk/libtinymail-camel/tny-camel-folder.c (modified) (2 diffs)
- trunk/tests/c-demo/tny-demoui-summary-view.c (modified) (4 diffs)
Legend:
- Unmodified
- Added
- Removed
- Modified
- Copied
- Moved
trunk/ChangeLog
r2171 r2173 3 3 * Connection failure handling in the IMAP code 4 4 * Experimental timeout for hostname lookups 5 * Unread and total count updating 5 6 6 7 2007-06-14 Philip Van Hoof <pvanhoof@gnome.org> trunk/libtinymail-camel/tny-camel-folder.c
r2170 r2173 141 141 TnyCamelFolderPriv *priv = TNY_CAMEL_FOLDER_GET_PRIVATE (self); 142 142 143 priv->cached_length = camel_folder_get_message_count (priv->folder); 143 144 priv->unread_length = camel_folder_get_unread_message_count (priv->folder); 144 145 tny_folder_change_set_new_unread_count (change, priv->unread_length); 146 tny_folder_change_set_new_all_count (change, priv->cached_length); 145 147 notify_folder_observers_about (TNY_FOLDER (self), change); 146 148 g_object_unref (change); … … 553 555 554 556 camel_folder_sync (priv->folder, expunge, &ex); 557 558 _tny_camel_folder_check_unread_count (TNY_CAMEL_FOLDER (self)); 555 559 556 560 g_static_rec_mutex_unlock (priv->folder_lock); trunk/tests/c-demo/tny-demoui-summary-view.c
r2156 r2173 550 550 } 551 551 552 553 typedef struct 554 { 555 TnyDemouiSummaryView *self; 556 TnyHeader *header; 557 } OnGetMsgInfo; 558 559 static void 560 status_update_on_get_msg (GObject *sender, TnyStatus *status, gpointer user_data) 561 { 562 OnGetMsgInfo *info = user_data; 563 status_update (sender, status, info->self); 564 return; 565 } 566 552 567 static void 553 568 on_get_msg (TnyFolder *folder, gboolean cancelled, TnyMsg *msg, GError **err, gpointer user_data) 554 569 { 555 TnyDemouiSummaryView *self = user_data; 570 OnGetMsgInfo *info = user_data; 571 TnyDemouiSummaryView *self = info->self; 572 TnyHeader *header = info->header; 556 573 TnyDemouiSummaryViewPriv *priv = TNY_DEMOUI_SUMMARY_VIEW_GET_PRIVATE (self); 557 574 GError *merr = *err; … … 559 576 g_idle_add (cleanup_statusbar, priv); 560 577 561 if (cancelled) 578 if (cancelled) { 579 g_object_unref (self); 580 g_object_unref (header); 581 g_slice_free (OnGetMsgInfo, info); 562 582 return; 563 564 if (msg) 583 } 584 585 if (msg) { 586 TnyHeaderFlags flags = tny_header_get_flags (header); 587 if (!(flags & TNY_HEADER_FLAG_SEEN)) 588 tny_header_set_flags (header, flags | TNY_HEADER_FLAG_SEEN); 565 589 tny_msg_view_set_msg (priv->msg_view, msg); 566 else590 } else 567 591 tny_msg_view_set_unavailable (priv->msg_view); 568 592 … … 581 605 gtk_widget_show_all (edialog); 582 606 } 607 608 g_object_unref (self); 609 g_object_unref (header); 610 g_slice_free (OnGetMsgInfo, info); 611 612 return; 583 613 } 584 614 … … 606 636 if (folder) 607 637 { 638 OnGetMsgInfo *info = g_slice_new (OnGetMsgInfo); 639 info->self = TNY_DEMOUI_SUMMARY_VIEW (g_object_ref (self)); 640 info->header = TNY_HEADER (g_object_ref (header)); 608 641 gtk_widget_show (GTK_WIDGET (priv->progress)); 609 610 642 tny_folder_get_msg_async (folder, header, 611 on_get_msg, status_update , self);643 on_get_msg, status_update_on_get_msg, info); 612 644 g_object_unref (G_OBJECT (folder)); 613 645 }
