* src/maemo/modest-account-view-window.c:
[modest] / src / modest-utils.c
index c2a1e6e..3ac90cc 100644 (file)
@@ -43,6 +43,8 @@
 #include <modest-defs.h>
 #include "modest-utils.h"
 #include "modest-platform.h"
+#include "modest-account-mgr-helpers.h"
+#include "modest-text-utils.h"
 #include <modest-local-folder-info.h>
 #include "widgets/modest-header-view.h"
 #include "widgets/modest-main-window.h"
@@ -504,7 +506,7 @@ modest_list_index (TnyList *list, GObject *object)
 }
 
 guint64 
-modest_folder_available_space (const gchar *maildir_path)
+modest_utils_get_available_space (const gchar *maildir_path)
 {
        gchar *folder;
        gchar *uri_string;
@@ -519,10 +521,10 @@ modest_folder_available_space (const gchar *maildir_path)
 
        if (uri) {
                if (gnome_vfs_get_volume_free_space (uri, &size) != GNOME_VFS_OK)
-                       size = -1;
+                       size = 0;
                gnome_vfs_uri_unref (uri);
        } else {
-               size = -1;
+               size = 0;
        }
 
        return (guint64) size;
@@ -719,3 +721,57 @@ modest_utils_run_sort_dialog (GtkWindow *parent_window,
        on_destroy_dialog (GTK_DIALOG(dialog));
 }
 
+
+gchar *
+modest_images_cache_get_id (const gchar *account, const gchar *uri)
+{
+       GnomeVFSURI *vfs_uri;
+       gchar *result;
+       vfs_uri = gnome_vfs_uri_new (uri);
+       if (vfs_uri == NULL)
+               return NULL;
+       result = g_strdup_printf ("%s__%x", account, gnome_vfs_uri_hash (vfs_uri));
+       gnome_vfs_uri_unref (vfs_uri);
+       return result;
+}
+
+gchar *
+modest_utils_get_account_name_from_recipient (const gchar *from_header)
+{
+       gchar *account_name = NULL;
+       ModestAccountMgr *mgr = NULL;
+       GSList *accounts = NULL, *node = NULL;
+
+       g_return_val_if_fail (from_header, NULL);
+
+       mgr = modest_runtime_get_account_mgr ();
+       accounts = modest_account_mgr_account_names (mgr, TRUE);
+               
+       for (node = accounts; node != NULL; node = g_slist_next (node)) {
+               gchar *from = 
+                       modest_account_mgr_get_from_string (mgr, node->data);
+                       
+               if (from) {
+                       gchar *from_email = 
+                               modest_text_utils_get_email_address (from);
+                               
+                       if (from_email) {
+                               if (!modest_text_utils_utf8_strcmp (from_header, from_email, TRUE)) {
+                                       account_name = g_strdup (node->data);
+                                       g_free (from);
+                                       g_free (from_email);
+                                       break;
+                               }
+                               g_free (from_email);
+                       }
+                       g_free (from);
+               }
+       }
+       g_slist_foreach (accounts, (GFunc) g_free, NULL);
+       g_slist_free (accounts);
+
+       return account_name;
+}