Changeset 2466
- Timestamp:
- 07/12/07 12:47:43
- Files:
-
- trunk/ChangeLog (modified) (1 diff)
- trunk/libtinymail-camel/camel-lite/camel/providers/pop3/camel-pop3-folder.c (modified) (4 diffs)
- trunk/libtinymail-camel/camel-lite/camel/providers/pop3/camel-pop3-store.c (modified) (4 diffs)
- trunk/tests/c-demo/tny-demoui-summary-view.c (modified) (1 diff)
Legend:
- Unmodified
- Added
- Removed
- Modified
- Copied
- Moved
trunk/ChangeLog
r2465 r2466 1 2007-07-12 Philip Van Hoof <pvanhoof@gnome.org> 2 3 * Fixed the POP unread count problems 4 1 5 2007-07-12 Murray Cumming <murrayc@murrayc.com> 2 6 trunk/libtinymail-camel/camel-lite/camel/providers/pop3/camel-pop3-folder.c
r2451 r2466 760 760 CamelFolderSummary *summary = folder->summary; 761 761 CamelMessageInfoBase *mi; gboolean im_certain=FALSE; 762 int old_flags = 0;763 762 764 763 g_static_rec_mutex_lock (pop3_store->eng_lock); … … 927 926 928 927 mi = (CamelMessageInfoBase *) camel_folder_summary_uid (summary, uid); 929 if (mi) { 930 old_flags = mi->flags; 931 camel_folder_summary_remove (summary, (CamelMessageInfo *) mi); 932 } 933 934 mi = (CamelMessageInfoBase *) camel_folder_summary_info_new_from_message (summary, message); 935 if (mi->uid) 936 g_free (mi->uid); 937 mi->uid = g_strdup (uid); 938 939 if (old_flags) 940 mi->flags = old_flags; 941 942 camel_folder_summary_add (summary, (CamelMessageInfo *)mi); 928 if (!mi) { 929 mi = (CamelMessageInfoBase *) camel_folder_summary_info_new_from_message (summary, message); 930 if (mi->uid) 931 g_free (mi->uid); 932 mi->uid = g_strdup (uid); 933 camel_folder_summary_add (summary, (CamelMessageInfo *)mi); 934 } 943 935 944 936 done: … … 966 958 CamelFolderSummary *summary = folder->summary; 967 959 CamelMessageInfoBase *mi; 968 int old_flags = 0;969 960 970 961 g_static_rec_mutex_lock (pop3_store->eng_lock); … … 1079 1070 1080 1071 mi = (CamelMessageInfoBase *) camel_folder_summary_uid (summary, uid); 1081 if (mi) { 1082 old_flags = mi->flags; 1083 camel_folder_summary_remove (summary, (CamelMessageInfo *) mi); 1084 } 1085 1086 mi = (CamelMessageInfoBase *) camel_folder_summary_info_new_from_message (summary, message); 1087 1088 if (mi->uid) 1089 g_free (mi->uid); 1090 mi->uid = g_strdup(uid); 1091 1092 if (old_flags) 1093 mi->flags = old_flags; 1094 1095 camel_folder_summary_add (summary, (CamelMessageInfo *)mi); 1072 if (!mi) { 1073 mi = (CamelMessageInfoBase *) camel_folder_summary_info_new_from_message (summary, message); 1074 if (mi->uid) 1075 g_free (mi->uid); 1076 mi->uid = g_strdup(uid); 1077 camel_folder_summary_add (summary, (CamelMessageInfo *)mi); 1078 } 1096 1079 1097 1080 done: trunk/libtinymail-camel/camel-lite/camel/providers/pop3/camel-pop3-store.c
r2378 r2466 96 96 static CamelFolder *get_trash (CamelStore *store, CamelException *ex); 97 97 98 static void pop3_get_folder_status (CamelStore *store, const char *folder_name, int *unseen, int *messages, int *uidnext); 99 98 100 99 101 … … 165 167 166 168 static CamelFolderInfo * 167 pop3_build_folder_info (CamelPOP3Store *store, const char *folder_name)169 pop3_build_folder_info (CamelPOP3Store *store, const char *folder_name) 168 170 { 169 171 const char *name; … … 240 242 { 241 243 CamelFolderInfo *info = pop3_get_folder_info_offline (store, top, flags, ex); 242 243 /* TODO: get read and unread count into info->unread & info->total */ 244 gint unseen = -1, messages = -1, uidnext = -1; 245 246 pop3_get_folder_status (store, "INBOX", &unseen, &messages, &uidnext); 247 248 if (messages != -1) 249 info->total = messages; 244 250 245 251 return info; … … 840 846 if (info->items != -1) { 841 847 *messages = info->items; 842 if (*unseen == -1) 843 *unseen = 0; 848 if (*unseen == -1) { 849 CamelFolderInfo *inf = pop3_build_folder_info ( 850 CAMEL_POP3_STORE (store), "INBOX"); 851 *unseen = inf->unread; 852 camel_folder_info_free (inf); 853 } 844 854 } 845 855 trunk/tests/c-demo/tny-demoui-summary-view.c
r2384 r2466 740 740 TnyHeaderFlags flags = tny_header_get_flags (header); 741 741 if (!(flags & TNY_HEADER_FLAG_SEEN)) 742 tny_header_set_flags (header, flags |TNY_HEADER_FLAG_SEEN);742 tny_header_set_flags (header, TNY_HEADER_FLAG_SEEN); 743 743 tny_msg_view_set_msg (priv->msg_view, msg); 744 744 } else
