X-Git-Url: http://git.maemo.org/git/?a=blobdiff_plain;f=src%2Fmodest-account-mgr-helpers.c;h=bacbccdd2a3ed48ca35d352818688dacadbb13f3;hb=54610a0e8f44ebf17691887661cc54b78b379702;hp=6565f7a26ed520f578cd6838e37bc4158ec89fa2;hpb=bd4de972656d134acae12fb14817df1f8ae44589;p=modest diff --git a/src/modest-account-mgr-helpers.c b/src/modest-account-mgr-helpers.c index 6565f7a..bacbccd 100644 --- a/src/modest-account-mgr-helpers.c +++ b/src/modest-account-mgr-helpers.c @@ -36,6 +36,7 @@ #include #include #include +#include static const gchar * null_means_empty (const gchar * str); @@ -49,7 +50,16 @@ gboolean modest_account_mgr_set_enabled (ModestAccountMgr *self, const gchar* name, gboolean enabled) { - return modest_account_mgr_set_bool (self, name, MODEST_ACCOUNT_ENABLED, enabled,FALSE); + gboolean result; + result = modest_account_mgr_set_bool (self, name, MODEST_ACCOUNT_ENABLED, enabled,FALSE); + if (result) { + if (enabled) { + modest_platform_emit_account_created_signal (name); + } else { + modest_platform_emit_account_removed_signal (name); + } + } + return result; } @@ -460,7 +470,7 @@ modest_account_mgr_load_server_settings (ModestAccountMgr *self, const gchar* na gchar *hostname, *username, *pwd, *uri, *proto, *auth, *sec; if (!modest_account_mgr_account_exists (self, name, TRUE)) { - g_message ("%s account %s does not exist", __FUNCTION__, name); + g_warning ("%s account %s does not exist", __FUNCTION__, name); return NULL; } @@ -708,7 +718,7 @@ modest_account_mgr_load_account_settings (ModestAccountMgr *self, store_settings); g_object_unref (store_settings); } else { - g_message ("%s can not load server settings. Account corrupted?", __FUNCTION__); + g_warning ("%s can not load server settings. Account corrupted?", __FUNCTION__); g_object_unref (settings); return NULL; } @@ -727,7 +737,7 @@ modest_account_mgr_load_account_settings (ModestAccountMgr *self, modest_account_settings_set_transport_settings (settings, transport_settings); g_object_unref (transport_settings); } else { - g_message ("%s can not load server settings. Account corrupted?", __FUNCTION__); + g_warning ("%s can not load server settings. Account corrupted?", __FUNCTION__); g_object_unref (settings); return NULL; } @@ -790,7 +800,7 @@ modest_account_mgr_save_account_settings (ModestAccountMgr *mgr, modest_account_mgr_save_server_settings (mgr, transport_settings); g_object_unref (transport_settings); } - modest_account_mgr_set_enabled (mgr, account_name, TRUE); + modest_account_mgr_set_bool (mgr, account_name, MODEST_ACCOUNT_ENABLED, TRUE,FALSE); } @@ -869,7 +879,7 @@ modest_account_mgr_get_from_string (ModestAccountMgr *self, const gchar* name, c name, TNY_ACCOUNT_TYPE_TRANSPORT); if (transport_account) { - proto = modest_account_mgr_get_string (self, name, MODEST_ACCOUNT_PROTO, TRUE); + proto = modest_account_mgr_get_string (self, transport_account, MODEST_ACCOUNT_PROTO, TRUE); if (proto != NULL) { ModestProtocol *protocol = modest_protocol_registry_get_protocol_by_name (modest_runtime_get_protocol_registry (), @@ -1037,6 +1047,30 @@ modest_account_mgr_set_last_updated (ModestAccountMgr *self, /* TODO: notify about changes */ } +gboolean +modest_account_mgr_get_has_new_mails (ModestAccountMgr *self, + const gchar* account_name) +{ + return modest_account_mgr_get_bool (modest_runtime_get_account_mgr (), + account_name, + MODEST_ACCOUNT_HAS_NEW_MAILS, + FALSE); +} + +void +modest_account_mgr_set_has_new_mails (ModestAccountMgr *self, + const gchar* account_name, + gboolean has_new_mails) +{ + modest_account_mgr_set_bool (self, + account_name, + MODEST_ACCOUNT_HAS_NEW_MAILS, + has_new_mails, + FALSE); + + /* TODO: notify about changes */ +} + gint modest_account_mgr_get_retrieve_limit (ModestAccountMgr *self, const gchar* account_name) @@ -1188,6 +1222,8 @@ modest_account_mgr_account_is_multimailbox (ModestAccountMgr *mgr, gchar *transport_account; gboolean result = FALSE; + g_return_val_if_fail (account_name, FALSE); + if (mmb_protocol) *mmb_protocol = NULL; @@ -1251,3 +1287,33 @@ modest_account_mgr_get_signature_from_recipient (ModestAccountMgr *mgr, return result; } +void +modest_account_mgr_get_branding_from_recipient (ModestAccountMgr *mgr, + const gchar *current_recipient, + gchar **service_name, + const GdkPixbuf **service_icon, + guint64 icon_size) +{ + gchar *mailbox = NULL; + gchar *account_name; + ModestProtocol *protocol = NULL; + + *service_name = NULL; + *service_icon = NULL; + + account_name = modest_utils_get_account_name_from_recipient (current_recipient, &mailbox); + if (modest_account_mgr_account_is_multimailbox (mgr, account_name, &protocol)) { + if (MODEST_IS_ACCOUNT_PROTOCOL (protocol)) { + gchar *name; + const GdkPixbuf *icon; + name = modest_account_protocol_get_service_name (MODEST_ACCOUNT_PROTOCOL (protocol), + account_name, mailbox); + icon = modest_account_protocol_get_service_icon (MODEST_ACCOUNT_PROTOCOL (protocol), + account_name, mailbox, icon_size); + *service_name = name; + *service_icon = icon; + } + } + +} +