Don't show mail_ib_attachment_already_purged, as this string
[modest] / src / modest-account-mgr.c
index ae3848b..bbbb2e8 100644 (file)
@@ -33,6 +33,7 @@
 #include <modest-account-mgr.h>
 #include <modest-account-mgr-priv.h>
 #include <modest-account-mgr-helpers.h>
+#include <modest-platform.h>
 
 /* 'private'/'protected' functions */
 static void modest_account_mgr_class_init (ModestAccountMgrClass * klass);
@@ -358,7 +359,11 @@ modest_account_mgr_add_account (ModestAccountMgr *self,
        if (!default_account)
                modest_account_mgr_set_default_account (self, name);
        g_free (default_account);
-
+       
+       /* (re)set the automatic account update */
+       modest_platform_set_update_interval
+               (modest_conf_get_int (priv->modest_conf, MODEST_CONF_UPDATE_INTERVAL, NULL));
+       
        return TRUE;
 }
 
@@ -467,7 +472,7 @@ modest_account_mgr_add_server_account (ModestAccountMgr * self,
        
        /* Add the security settings: */
        modest_account_mgr_set_server_account_security (self, name, security);
-       
+
 cleanup:
        if (!ok) {
                g_printerr ("modest: failed to add server account\n");
@@ -594,6 +599,14 @@ modest_account_mgr_remove_account (ModestAccountMgr * self,
           will retrieve also the deleted account */
        g_signal_emit (G_OBJECT(self), signals[ACCOUNT_REMOVED_SIGNAL], 0, name);
 
+       /* if this was the last account, stop any auto-updating */
+       /* (re)set the automatic account update */
+       GSList *acc_names = modest_account_mgr_account_names (self, TRUE);
+       if (!acc_names) 
+               modest_platform_set_update_interval (0);
+       else
+               modest_account_mgr_free_account_names (acc_names);
+       
        return TRUE;
 }
 
@@ -1154,8 +1167,9 @@ _modest_account_mgr_get_account_keyname (const gchar *account_name, const gchar*
                retval = g_strconcat (namespace, "/", escaped_account_name, NULL);
 
        /* Sanity check: */
-       if (!modest_conf_key_is_valid (retval)) {
-               g_warning ("%s: Generated conf key was invalid: %s", __FUNCTION__, retval);
+       if (!retval || !modest_conf_key_is_valid (retval)) {
+               g_warning ("%s: Generated conf key was invalid: %s", __FUNCTION__,
+                          retval ? retval: "<empty>");
                g_free (retval);
                retval = NULL;
        }
@@ -1232,9 +1246,13 @@ modest_account_mgr_set_account_busy(ModestAccountMgr* self,
                                    const gchar* account_name, 
                                    gboolean busy)
 {
-       ModestAccountMgrPrivate* priv = MODEST_ACCOUNT_MGR_GET_PRIVATE (self);
-       if (busy)
-       {
+       ModestAccountMgrPrivate* priv;
+
+       g_return_if_fail (MODEST_IS_ACCOUNT_MGR(self));
+       g_return_if_fail (account_name);
+
+       priv = MODEST_ACCOUNT_MGR_GET_PRIVATE (self);
+       if (busy) {
                GSList *account_names = modest_account_mgr_account_names (self, TRUE);
                GSList* account = g_slist_find_custom(account_names, account_name, 
                                                      (GCompareFunc) compare_account_name);
@@ -1260,11 +1278,17 @@ modest_account_mgr_set_account_busy(ModestAccountMgr* self,
 }
 
 gboolean
-modest_account_mgr_account_is_busy(ModestAccountMgr* self, const gchar* account_name)
+modest_account_mgr_account_is_busy (ModestAccountMgr* self, const gchar* account_name)
 {
-       ModestAccountMgrPrivate* priv = MODEST_ACCOUNT_MGR_GET_PRIVATE (self);
+       ModestAccountMgrPrivate* priv;
+       
+       g_return_val_if_fail (MODEST_IS_ACCOUNT_MGR(self), FALSE);
+       g_return_val_if_fail (account_name, FALSE);
+
+       priv = MODEST_ACCOUNT_MGR_GET_PRIVATE (self);
+               
        return (g_slist_find_custom(priv->busy_accounts, account_name, (GCompareFunc) compare_account_name)
-                                       != NULL);
+               != NULL);
 }
 
 void