X-Git-Url: http://git.maemo.org/git/?p=modest;a=blobdiff_plain;f=src%2Fmodest-tny-account.c;h=c71803410b7285ca707ecd31d7958a9e7fb4b5bd;hp=3cd2d01ea14c1fa96c1da30f9f0ca8a2c881dac5;hb=362784ce756b3f0e31cd451d9ac5e69b909d4053;hpb=9b132481dc780eb30f783954eadb00b5f08ccd4b diff --git a/src/modest-tny-account.c b/src/modest-tny-account.c index 3cd2d01..c718034 100644 --- a/src/modest-tny-account.c +++ b/src/modest-tny-account.c @@ -129,12 +129,15 @@ modest_tny_account_get_special_folder (TnyAccount *account, while (!tny_iterator_is_done (iter)) { TnyFolder *folder = TNY_FOLDER (tny_iterator_get_current (iter)); - if (modest_tny_folder_get_local_folder_type (folder) == special_type) { - special_folder = folder; - break; /* Leaving a ref for the special_folder return value. */ - } + if (folder) { + if (modest_tny_folder_get_local_or_mmc_folder_type (folder) == special_type) { + special_folder = folder; + break; /* Leaving a ref for the special_folder return value. */ + } - g_object_unref (G_OBJECT(folder)); + g_object_unref (G_OBJECT(folder)); + } + tny_iterator_next (iter); } @@ -733,8 +736,6 @@ modest_tny_account_new_for_per_account_local_outbox_folder (ModestAccountMgr *ac return NULL; } - printf ("DEBUG: %s: Setting session for account: session=%p\n", - __FUNCTION__, session); tny_camel_account_set_session (TNY_CAMEL_ACCOUNT(tny_account), session); /* Make sure that the paths exists on-disk so that TnyCamelStoreAccount can @@ -812,17 +813,19 @@ recurse_folders (TnyFolderStore *store, TnyFolder *folder; folder = TNY_FOLDER (tny_iterator_get_current (iter)); + if (folder) { + if (helper->task == TASK_GET_ALL_COUNT) + helper->sum += tny_folder_get_all_count (folder); - if (helper->task == TASK_GET_ALL_COUNT) - helper->sum += tny_folder_get_all_count (folder); + if (helper->task == TASK_GET_LOCAL_SIZE) + helper->sum += tny_folder_get_local_size (folder); - if (helper->task == TASK_GET_LOCAL_SIZE) - helper->sum += tny_folder_get_local_size (folder); + if (TNY_IS_FOLDER_STORE (folder)) + recurse_folders (TNY_FOLDER_STORE (folder), query, helper); - if (TNY_IS_FOLDER_STORE (folder)) - recurse_folders (TNY_FOLDER_STORE (folder), query, helper); + g_object_unref (folder); + } - g_object_unref (folder); tny_iterator_next (iter); } g_object_unref (G_OBJECT (iter)); @@ -896,17 +899,43 @@ modest_tny_folder_store_get_local_size (TnyFolderStore *self) return retval; } -const gchar* modest_tny_account_get_parent_modest_account_name_for_server_account (TnyAccount *self) +const gchar* +modest_tny_account_get_parent_modest_account_name_for_server_account (TnyAccount *self) { return (const gchar *)g_object_get_data (G_OBJECT (self), "modest_account"); } -void modest_tny_account_set_parent_modest_account_name_for_server_account (TnyAccount *self, const gchar* parent_modest_acount_name) +void +modest_tny_account_set_parent_modest_account_name_for_server_account (TnyAccount *self, + const gchar* parent_modest_acount_name) { g_object_set_data_full (G_OBJECT(self), "modest_account", (gpointer) g_strdup (parent_modest_acount_name), g_free); } +gboolean +modest_tny_account_is_virtual_local_folders (TnyAccount *self) +{ + /* We should make this more sophisticated if we ever use ModestTnyLocalFoldersAccount + * for anything else. */ + return MODEST_IS_TNY_LOCAL_FOLDERS_ACCOUNT (self); +} + + +gboolean +modest_tny_account_is_memory_card_account (TnyAccount *self) +{ + const gchar* account_id = NULL; + + g_return_val_if_fail (TNY_ACCOUNT (self), FALSE); + if (!self) + return FALSE; + account_id = tny_account_get_id (self); + if (!account_id) + return FALSE; + else + return (strcmp (account_id, MODEST_MMC_ACCOUNT_ID) == 0); +}