Changeset 2804
- Timestamp:
- 09/24/07 16:47:18
- Files:
-
- trunk/ChangeLog (modified) (1 diff)
- trunk/libtinymail-camel/camel-lite/camel/camel-store.c (modified) (3 diffs)
- trunk/libtinymail-camel/camel-lite/camel/camel-store.h (modified) (2 diffs)
- trunk/libtinymail-camel/camel-lite/camel/providers/imap/camel-imap-store.c (modified) (2 diffs)
- trunk/libtinymail-camel/camel-lite/camel/providers/local/camel-local-store.c (modified) (2 diffs)
- trunk/libtinymail-camel/camel-lite/camel/providers/pop3/camel-pop3-store.c (modified) (2 diffs)
- trunk/libtinymail-camel/tny-camel-folder.c (modified) (7 diffs)
Legend:
- Unmodified
- Added
- Removed
- Modified
- Copied
- Moved
trunk/ChangeLog
r2803 r2804 1 2007-09-24 Philip Van Hoof <pvanhoof@gnome.org> 2 3 * Local-size updates after sync, sync_async and add_msg and 4 add_msg_async 5 1 6 2007-09-20 Dirk-Jan C. BInnema <dirk-jan.binnema@nokia.com> 2 7 trunk/libtinymail-camel/camel-lite/camel/camel-store.c
r2738 r2804 88 88 static void get_folder_status_impl (CamelStore *store, const char *folder_name, int *unseen, int *messages, int *uidnext); 89 89 90 static int get_local_size (CamelStore *store, const gchar *folder_name) 91 { 92 return 0; 93 } 94 90 95 static void 91 96 camel_store_class_init (CamelStoreClass *camel_store_class) … … 97 102 98 103 /* virtual method definition */ 104 camel_store_class->get_local_size = get_local_size; 99 105 camel_store_class->hash_folder_name = g_str_hash; 100 106 camel_store_class->compare_folder_name = g_str_equal; … … 183 189 } 184 190 191 int 192 camel_store_get_local_size (CamelStore *store, const gchar *folder_name) 193 { 194 return CS_CLASS (store)->get_local_size (store, folder_name); 195 } 185 196 186 197 static void 187 198 delete_cache (CamelStore *store) 188 199 { 200 return; 189 201 } 190 202 trunk/libtinymail-camel/camel-lite/camel/camel-store.h
r2106 r2804 192 192 int *unseen, int *messages, 193 193 int *uidnext); 194 void (*delete_cache) (CamelStore *store); 194 void (*delete_cache) (CamelStore *store); 195 196 int (*get_local_size) (CamelStore *store, const gchar *folder_name); 195 197 196 198 } CamelStoreClass; … … 270 272 271 273 void camel_store_delete_cache (CamelStore *store); 274 int camel_store_get_local_size (CamelStore *store, const gchar *folder_name); 275 272 276 273 277 trunk/libtinymail-camel/camel-lite/camel/providers/imap/camel-imap-store.c
r2752 r2804 145 145 static void imap_get_folder_status (CamelStore *store, const char *folder_name, int *unseen, int *messages, int *uidnext); 146 146 147 static int 148 imapstore_get_local_size (CamelStore *store, const gchar *folder_name) 149 { 150 CamelImapStore *imap_store = (CamelImapStore *) store; 151 gchar *storage_path = g_strdup_printf ("%s/folders", imap_store->storage_path); 152 gchar *folder_dir = imap_path_to_physical (storage_path, folder_name); 153 int msize = 0; 154 155 g_free (storage_path); 156 camel_du (folder_dir, &msize); 157 g_free (folder_dir); 158 return msize; 159 } 160 147 161 void 148 162 camel_imap_recon (CamelImapStore *store, CamelException *mex) … … 306 320 camel_service_class->get_name = imap_get_name; 307 321 322 camel_store_class->get_local_size = imapstore_get_local_size; 308 323 camel_store_class->delete_cache = imap_delete_cache; 309 324 camel_store_class->hash_folder_name = hash_folder_name; trunk/libtinymail-camel/camel-lite/camel/providers/local/camel-local-store.c
r2763 r2804 69 69 static CamelStoreClass *parent_class = NULL; 70 70 71 72 static void 73 local_delete_cache (CamelStore *store) 74 { 75 CamelLocalStore *local_store = (CamelLocalStore *) store; 76 camel_rm (local_store->toplevel_dir); 77 } 78 79 static int 80 localstore_get_local_size (CamelStore *store, const gchar *folder_name) 81 { 82 CamelLocalStore *local_store = (CamelLocalStore *) store; 83 gchar *folder_dir = g_strdup_printf ("%s/%s", local_store->toplevel_dir, folder_name); 84 int msize = 0; 85 camel_du (folder_dir, &msize); 86 g_free (folder_dir); 87 return msize; 88 } 89 71 90 static void 72 91 camel_local_store_class_init (CamelLocalStoreClass *camel_local_store_class) … … 80 99 camel_service_class->construct = construct; 81 100 camel_service_class->get_name = get_name; 101 102 camel_store_class->delete_cache = local_delete_cache; 103 camel_store_class->get_local_size = localstore_get_local_size; 82 104 camel_store_class->get_folder = get_folder; 83 105 camel_store_class->get_inbox = local_get_inbox; trunk/libtinymail-camel/camel-lite/camel/providers/pop3/camel-pop3-store.c
r2763 r2804 99 99 100 100 101 static int 102 pop3store_get_local_size (CamelStore *store, const gchar *folder_name) 103 { 104 CamelPOP3Store *p3store = (CamelPOP3Store *) store; 105 int msize = 0; 106 camel_du (p3store->storage_path , &msize); 107 return msize; 108 } 101 109 102 110 static void … … 1041 1049 /* camel_service_class->disconnect = pop3_disconnect; */ 1042 1050 1051 camel_store_class->get_local_size = pop3store_get_local_size; 1043 1052 camel_store_class->get_folder = get_folder; 1044 1053 camel_store_class->get_trash = get_trash; trunk/libtinymail-camel/tny-camel-folder.c
r2800 r2804 129 129 130 130 131 132 131 static void 133 132 do_notify_in_idle_destroy_for_acc (gpointer user_data) … … 302 301 g_idle_add_full (G_PRIORITY_HIGH, notify_folder_store_observers_about_for_store_acc_idle, 303 302 info, do_notify_in_idle_destroy_for_acc); 303 } 304 305 static void 306 reset_local_size (TnyCamelFolderPriv *priv) 307 { 308 if (priv->folder) 309 priv->local_size = camel_folder_get_local_size (priv->folder); 310 else if (priv->store) 311 priv->local_size = camel_store_get_local_size (priv->store, priv->folder_name); 304 312 } 305 313 … … 850 858 tny_folder_change_set_new_all_count (change, priv->cached_length); 851 859 tny_folder_change_set_new_unread_count (change, priv->unread_length); 852 853 860 notify_folder_observers_about (self, change); 854 861 g_object_unref (change); … … 913 920 priv->unread_length = (guint)camel_folder_get_unread_message_count (priv->folder); 914 921 update_iter_counts (priv); 922 reset_local_size (priv); 915 923 916 924 _tny_camel_account_stop_camel_operation (TNY_CAMEL_ACCOUNT (priv->account)); … … 1059 1067 tny_folder_change_set_new_all_count (change, priv->cached_length); 1060 1068 tny_folder_change_set_new_unread_count (change, priv->unread_length); 1069 reset_local_size (priv); 1061 1070 notify_folder_observers_about_in_idle (self, change); 1062 1071 } … … 1391 1400 1392 1401 camel_folder_sync (priv->folder, expunge, &ex); 1393 1394 1402 _tny_camel_folder_check_unread_count (TNY_CAMEL_FOLDER (self)); 1403 reset_local_size (priv); 1395 1404 1396 1405 g_static_rec_mutex_unlock (priv->folder_lock); … … 1529 1538 priv->unread_length = (guint)camel_folder_get_unread_message_count (priv->folder); 1530 1539 update_iter_counts (priv); 1540 reset_local_size (priv); 1541 1531 1542 } else 1532 1543 camel_exception_setv (&ex, CAMEL_EXCEPTION_SYSTEM,
