#include <strings.h>
#include <modest-account-protocol.h>
#include <modest-utils.h>
+#include <modest-platform.h>
static const gchar * null_means_empty (const gchar * str);
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;
}
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;
}
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);
}
/* 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)