X-Git-Url: https://vcs.maemo.org/git/?a=blobdiff_plain;ds=sidebyside;f=src%2Fmodest-account-mgr-helpers.c;h=bacbccdd2a3ed48ca35d352818688dacadbb13f3;hb=07b7ad35990c57d36183fa0914b63e314ffe74ac;hp=c06661c19d4678b7793597a9aab7f64829ff5082;hpb=4db44f57690ed2e6f418a12a2e0eeddf4cf22084;p=modest diff --git a/src/modest-account-mgr-helpers.c b/src/modest-account-mgr-helpers.c index c06661c..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; } @@ -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); } @@ -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; + } + } + +} +