X-Git-Url: http://git.maemo.org/git/?p=modest;a=blobdiff_plain;f=src%2Fmodest-tny-account.c;h=31eab5a0585cd4b1e431969e978c35b24dae9c09;hp=ab7149e879adda8c7fb40fa41e70a7acacb4caa9;hb=a928ea9cd483356e9bbb31a11609a380b5954f94;hpb=6f7aa1b5e15f3024db75ccfe3138f520c607dc5d diff --git a/src/modest-tny-account.c b/src/modest-tny-account.c index ab7149e..31eab5a 100644 --- a/src/modest-tny-account.c +++ b/src/modest-tny-account.c @@ -28,6 +28,7 @@ */ #include +#include #include #include #include @@ -345,7 +346,6 @@ modest_tny_account_new_from_server_account_name (ModestAccountMgr *account_mgr, ModestServerAccountSettings *server_settings; TnyAccount *tny_account; ModestProtocolRegistry *protocol_registry; - TnyConnectionPolicy *policy; g_return_val_if_fail (session, NULL); g_return_val_if_fail (server_account_name, NULL); @@ -362,6 +362,7 @@ modest_tny_account_new_from_server_account_name (ModestAccountMgr *account_mgr, ModestProtocol *protocol; const gchar* proto_name = NULL; tny_account_set_id (tny_account, server_account_name); + tny_account_set_name (tny_account, server_account_name); tny_camel_account_set_session (TNY_CAMEL_ACCOUNT (tny_account), session); protocol = modest_protocol_registry_get_protocol_by_type (protocol_registry, modest_server_account_settings_get_protocol (server_settings)); proto_name = modest_protocol_get_name (protocol); @@ -369,20 +370,25 @@ modest_tny_account_new_from_server_account_name (ModestAccountMgr *account_mgr, modest_tny_account_set_parent_modest_account_name_for_server_account (tny_account, server_account_name); } - if (!tny_account) + if (!tny_account) { g_warning ("%s: failed to create tny_account", __FUNCTION__); - else if (!update_tny_account (tny_account, server_settings)) - g_warning ("%s: failed to initialize tny_account", __FUNCTION__); - else { - tny_account_set_forget_pass_func (tny_account, - forget_pass_func ? forget_pass_func : forget_pass_dummy); - tny_account_set_pass_func (tny_account, - get_pass_func ? get_pass_func: get_pass_dummy); - } + } else { + TnyConnectionPolicy *policy; - policy = modest_default_connection_policy_new (); - tny_account_set_connection_policy (tny_account, policy); - g_object_unref (policy); + if (!update_tny_account (tny_account, server_settings)) { + g_warning ("%s: failed to initialize tny_account", __FUNCTION__); + } else { + + tny_account_set_forget_pass_func (tny_account, + forget_pass_func ? forget_pass_func : forget_pass_dummy); + tny_account_set_pass_func (tny_account, + get_pass_func ? get_pass_func: get_pass_dummy); + + } + policy = modest_default_connection_policy_new (); + tny_account_set_connection_policy (tny_account, policy); + g_object_unref (policy); + } g_object_unref (server_settings); @@ -633,11 +639,13 @@ on_modest_file_system_info (HildonFileSystemInfoHandle *handle, void modest_tny_account_get_mmc_account_name (TnyStoreAccount* self, ModestTnyAccountGetMmcAccountNameCallback callback, gpointer user_data) { #ifndef MODEST_TOOLKIT_GTK - /* Just use the hard-coded path for the single memory card, + /* Just use the path for the single memory card, * rather than try to figure out the path to the specific card by * looking at the maildir URI: */ - const gchar *uri_real = MODEST_MCC1_VOLUMEPATH_URI; + gchar *uri_real = g_strconcat (MODEST_MMC1_VOLUMEPATH_URI_PREFIX, + g_getenv (MODEST_MMC1_VOLUMEPATH_ENV), + NULL); /* gchar* uri = tny_account_get_url_string (TNY_ACCOUNT (self)); @@ -667,7 +675,7 @@ void modest_tny_account_get_mmc_account_name (TnyStoreAccount* self, ModestTnyAc hildon_file_system_info_async_new(uri_real, on_modest_file_system_info, callback_data /* user_data */); - /* g_free (uri_real); */ + g_free (uri_real); } /* g_free (uri); */ @@ -726,7 +734,7 @@ modest_tny_account_new_for_local_folders (ModestAccountMgr *account_mgr, TnySess * via a derived TnyCamelStoreAccount ? */ const gboolean is_mmc = location_filepath && - (strcmp (location_filepath, MODEST_MCC1_VOLUMEPATH) == 0); + (strcmp (location_filepath, g_getenv (MODEST_MMC1_VOLUMEPATH_ENV)) == 0); /* The name of memory card locations will be updated asynchronously. * This is just a default: */ @@ -1018,12 +1026,20 @@ modest_tny_folder_store_is_remote (TnyFolderStore *folder_store) if (account != NULL) { if (tny_account_get_account_type (account) == TNY_ACCOUNT_TYPE_STORE) { - if (!TNY_IS_CAMEL_POP_STORE_ACCOUNT (account) && - !TNY_IS_CAMEL_IMAP_STORE_ACCOUNT (account)) { - /* This must be a maildir account, which does - * not require a connection: */ - result = FALSE; - } + ModestProtocolType proto_type; + const gchar *tag; + ModestProtocolRegistry *registry; + + proto_type = modest_tny_account_get_protocol_type (account); + registry = modest_runtime_get_protocol_registry (); + tag = MODEST_PROTOCOL_REGISTRY_REMOTE_STORE_PROTOCOLS; + if (modest_protocol_registry_protocol_type_has_tag (registry, + proto_type, + tag)) { + result = TRUE; + } else { + result = FALSE; + } } g_object_unref (account); } else {