ModestProtocolType modest_account_mgr_get_store_protocol (ModestAccountMgr *self, const gchar* name)
{
- ModestProtocolType result = MODEST_PROTOCOLS_STORE_POP; /* Arbitrary default */
-
+ ModestProtocolType result = MODEST_PROTOCOL_REGISTRY_TYPE_INVALID;
gchar *server_account_name = modest_account_mgr_get_string (self, name,
MODEST_ACCOUNT_STORE_ACCOUNT,
FALSE);
if (server_account_name) {
- ModestServerAccountSettings* server_settings =
+ ModestServerAccountSettings* server_settings =
modest_account_mgr_load_server_settings (self, server_account_name, FALSE);
- result = modest_server_account_settings_get_protocol (server_settings);
-
- g_object_unref (server_settings);
-
+
+ /* Easy setup wizard precreates accounts without
+ settings so this could happen */
+ if (server_settings) {
+ result = modest_server_account_settings_get_protocol (server_settings);
+ g_object_unref (server_settings);
+ }
g_free (server_account_name);
}
-
+
return result;
}
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;
+ }
+ }
+
+}
+