Commit 324a7da5 authored by Matthew Barnes's avatar Matthew Barnes

Use e_mail_folder_uri_from_folder() instead of camel_folder_get_uri().

parent 99680d55
......@@ -1099,7 +1099,7 @@ mail_notebook_view_set_folder (EMailReader *reader,
{
EMailNotebookViewPrivate *priv;
GtkWidget *new_view;
const gchar *folder_uri;
gchar *folder_uri;
#if HAVE_CLUTTER
EMailTab *tab;
ClutterActor *clone;
......@@ -1111,8 +1111,10 @@ mail_notebook_view_set_folder (EMailReader *reader,
priv = E_MAIL_NOTEBOOK_VIEW (reader)->priv;
folder_uri = camel_folder_get_uri (folder);
folder_uri = e_mail_folder_uri_from_folder (folder);
new_view = g_hash_table_lookup (priv->views, folder_uri);
g_free (folder_uri);
if (new_view) {
gint curr = emnv_get_page_num (E_MAIL_NOTEBOOK_VIEW (reader), new_view);
#if HAVE_CLUTTER
......@@ -1241,7 +1243,9 @@ mail_notebook_view_set_folder (EMailReader *reader,
#endif
e_mail_reader_set_folder (E_MAIL_READER (priv->current_view), folder);
g_hash_table_insert (priv->views, g_strdup (folder_uri), priv->current_view);
folder_uri = e_mail_folder_uri_from_folder (folder);
g_hash_table_insert (priv->views, folder_uri, priv->current_view);
g_signal_connect (
priv->current_view, "changed",
G_CALLBACK (reconnect_changed_event), reader);
......
......@@ -479,8 +479,8 @@ mail_paned_view_set_folder (EMailReader *reader,
EMailReaderInterface *default_interface;
GtkWidget *message_list;
GKeyFile *key_file;
gchar *folder_uri;
gchar *group_name;
const gchar *folder_uri;
const gchar *key;
gboolean value;
GError *error = NULL;
......@@ -519,9 +519,10 @@ mail_paned_view_set_folder (EMailReader *reader,
/* Restore the folder's preview and threaded state. */
folder_uri = camel_folder_get_uri (folder);
folder_uri = e_mail_folder_uri_from_folder (folder);
key_file = e_shell_view_get_state_key_file (shell_view);
group_name = g_strdup_printf ("Folder %s", folder_uri);
g_free (folder_uri);
key = STATE_KEY_GROUP_BY_THREADS;
value = g_key_file_get_boolean (key_file, group_name, key, &error);
......
......@@ -2885,7 +2885,6 @@ mail_reader_set_folder (EMailReader *reader,
GtkWidget *message_list;
EMailBackend *backend;
EShell *shell;
const gchar *folder_uri = NULL;
gboolean outgoing;
priv = E_MAIL_READER_GET_PRIVATE (reader);
......@@ -2906,10 +2905,7 @@ mail_reader_set_folder (EMailReader *reader,
if (folder == previous_folder)
return;
if (folder != NULL)
folder_uri = camel_folder_get_uri (folder);
outgoing = folder != NULL && folder_uri != NULL && (
outgoing = folder != NULL && (
em_utils_folder_is_drafts (folder) ||
em_utils_folder_is_outbox (folder) ||
em_utils_folder_is_sent (folder));
......
......@@ -1158,12 +1158,14 @@ edit_message (EShell *shell,
composer = e_msg_composer_new_with_message (shell, message, NULL);
if (message_uid != NULL && em_utils_folder_is_drafts (folder)) {
const gchar *folder_uri;
gchar *folder_uri;
folder_uri = camel_folder_get_uri (folder);
folder_uri = e_mail_folder_uri_from_folder (folder);
e_msg_composer_set_draft_headers (
composer, folder_uri, message_uid);
g_free (folder_uri);
}
composer_set_no_change (composer);
......@@ -1434,7 +1436,7 @@ forward_non_attached (EShell *shell,
{
CamelMimeMessage *message;
EMsgComposer *composer = NULL;
const gchar *folder_uri;
gchar *folder_uri;
gchar *subject, *text, *forward;
gint i;
guint32 flags;
......@@ -1442,7 +1444,7 @@ forward_non_attached (EShell *shell,
if (messages->len == 0)
return NULL;
folder_uri = camel_folder_get_uri (folder);
folder_uri = e_mail_folder_uri_from_folder (folder);
flags = EM_FORMAT_QUOTE_HEADERS | EM_FORMAT_QUOTE_KEEP_SIG;
if (style == E_MAIL_FORWARD_STYLE_QUOTED)
......@@ -1484,6 +1486,8 @@ forward_non_attached (EShell *shell,
g_free (subject);
}
g_free (folder_uri);
return composer;
}
......@@ -2761,12 +2765,14 @@ em_utils_reply_to_message (EShell *shell,
g_object_unref (message);
if (folder != NULL) {
const gchar *folder_uri;
gchar *folder_uri;
folder_uri = camel_folder_get_uri (folder);
folder_uri = e_mail_folder_uri_from_folder (folder);
e_msg_composer_set_source_headers (
composer, folder_uri, uid, flags);
g_free (folder_uri);
}
composer_set_no_change (composer);
......
......@@ -38,6 +38,7 @@
#include <gconf/gconf-client.h>
#include "e-mail-local.h"
#include "e-mail-folder-utils.h"
#include "mail-config.h"
#include "mail-folder-cache.h"
#include "mail-tools.h"
......@@ -338,7 +339,7 @@ mail_config_folder_to_cachename (CamelFolder *folder, const gchar *prefix)
const gchar *config_dir;
config_dir = mail_session_get_config_dir ();
url = g_strdup (camel_folder_get_uri (folder));
url = e_mail_folder_uri_from_folder (folder);
e_filename_make_safe (url);
basename = g_strdup_printf ("%s%s", prefix, url);
filename = g_build_filename (config_dir, "folders", basename, NULL);
......
......@@ -50,6 +50,7 @@
#include "mail-tools.h"
#include "em-utils.h"
#include "e-mail-folder-utils.h"
#include "e-mail-local.h"
#include "e-mail-session.h"
#include "e-mail-store-utils.h"
......@@ -879,9 +880,8 @@ store_go_online_cb (CamelStore *store,
}
struct _find_info {
const gchar *uri;
const gchar *folder_uri;
struct _folder_info *fi;
CamelURL *url;
};
/* look up on each storeinfo using proper hash function for that stores uri's */
......@@ -890,23 +890,19 @@ storeinfo_find_folder_info (CamelStore *store,
struct _store_info *si,
struct _find_info *fi)
{
CamelProvider *provider;
CamelService *service;
CamelURL *url;
gchar *folder_name;
gboolean success;
service = CAMEL_SERVICE (store);
url = camel_service_get_camel_url (service);
provider = camel_service_get_provider (service);
if (fi->fi != NULL)
return;
if (fi->fi == NULL) {
if (provider->url_equal (fi->url, url)) {
gchar *path = fi->url->fragment ?
fi->url->fragment : fi->url->path;
success = e_mail_folder_uri_parse (
camel_service_get_session (CAMEL_SERVICE (store)),
fi->folder_uri, NULL, &folder_name, NULL);
if (path[0] == '/')
path++;
fi->fi = g_hash_table_lookup (si->folders, path);
}
if (success) {
fi->fi = g_hash_table_lookup (si->folders, folder_name);
g_free (folder_name);
}
}
......@@ -1295,13 +1291,11 @@ mail_folder_cache_get_folder_from_uri (MailFolderCache *self,
const gchar *uri,
CamelFolder **folderp)
{
struct _find_info fi = { uri, NULL, NULL };
struct _find_info fi = { uri, NULL };
if (self->priv->stores == NULL)
return FALSE;
fi.url = camel_url_new (uri, NULL);
g_mutex_lock (self->priv->stores_mutex);
g_hash_table_foreach (
self->priv->stores, (GHFunc)
......@@ -1314,8 +1308,6 @@ mail_folder_cache_get_folder_from_uri (MailFolderCache *self,
}
g_mutex_unlock (self->priv->stores_mutex);
camel_url_free (fi.url);
return fi.fi != NULL;
}
......@@ -1324,13 +1316,14 @@ mail_folder_cache_get_folder_info_flags (MailFolderCache *self,
CamelFolder *folder,
gint *flags)
{
const gchar *uri = camel_folder_get_uri (folder);
struct _find_info fi = { uri, NULL, NULL };
struct _find_info fi = { NULL, NULL };
gchar *folder_uri;
if (self->priv->stores == NULL)
return FALSE;
fi.url = camel_url_new (uri, NULL);
folder_uri = e_mail_folder_uri_from_folder (folder);
fi.folder_uri = folder_uri;
g_mutex_lock (self->priv->stores_mutex);
g_hash_table_foreach (
......@@ -1344,7 +1337,7 @@ mail_folder_cache_get_folder_info_flags (MailFolderCache *self,
}
g_mutex_unlock (self->priv->stores_mutex);
camel_url_free (fi.url);
g_free (folder_uri);
return fi.fi != NULL;
}
......@@ -1356,8 +1349,8 @@ mail_folder_cache_get_folder_has_children (MailFolderCache *self,
CamelFolder *folder,
gboolean *found)
{
const gchar *uri = camel_folder_get_uri (folder);
struct _find_info fi = { uri, NULL, NULL };
struct _find_info fi = { NULL, NULL };
gchar *folder_uri;
g_return_val_if_fail (self != NULL, FALSE);
g_return_val_if_fail (folder != NULL, FALSE);
......@@ -1365,7 +1358,8 @@ mail_folder_cache_get_folder_has_children (MailFolderCache *self,
if (self->priv->stores == NULL)
return FALSE;
fi.url = camel_url_new (uri, NULL);
folder_uri = e_mail_folder_uri_from_folder (folder);
fi.folder_uri = folder_uri;
g_mutex_lock (self->priv->stores_mutex);
g_hash_table_foreach (
......@@ -1375,7 +1369,7 @@ mail_folder_cache_get_folder_has_children (MailFolderCache *self,
*found = fi.fi != NULL;
g_mutex_unlock (self->priv->stores_mutex);
camel_url_free (fi.url);
g_free (folder_uri);
return fi.fi != NULL && fi.fi->has_children;
}
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment