aboutsummaryrefslogtreecommitdiffstats
path: root/mail
diff options
context:
space:
mode:
Diffstat (limited to 'mail')
-rw-r--r--mail/ChangeLog21
-rw-r--r--mail/em-account-prefs.c18
-rw-r--r--mail/em-folder-selection-button.c2
-rw-r--r--mail/mail-account-gui.c25
-rw-r--r--mail/mail-component.c98
-rw-r--r--mail/mail-component.h37
-rw-r--r--mail/mail-offline-handler.c28
7 files changed, 114 insertions, 115 deletions
diff --git a/mail/ChangeLog b/mail/ChangeLog
index ab1bbb6378..a2a8528963 100644
--- a/mail/ChangeLog
+++ b/mail/ChangeLog
@@ -1,7 +1,24 @@
2003-11-13 Jeffrey Stedfast <fejj@ximian.com>
- * mail-component.c (create_view_widget): If the user selects a
- store node, don't try to open it as a folder.
+ * mail-vfolder.c (vfolder_load_storage): Updated for function name
+ changes in mail-component.c
+
+ * mail-offline-handler.c: Updated for function name changes in
+ mail-component.c
+
+ * mail-account-gui.c (add_new_store): Fixed to not use EStorage.
+ (mail_account_gui_save): Updated for function name changes.
+
+ * em-account-prefs.c (account_delete_clicked): Updated for
+ function name changes.
+ (account_able_clicked): Same.
+ (account_able_toggled): Same.
+
+ * mail-component.c: Renamed mail_component_*storage*() functions
+ to mail_component_*store*() since we are no longer dealing with
+ storages, but instead with CamelStore's.
+ (create_view_widget): If the user selects a store node, don't try
+ to open it as a folder.
2003-11-13 Ettore Perazzoli <ettore@ximian.com>
diff --git a/mail/em-account-prefs.c b/mail/em-account-prefs.c
index 4e5008f3ef..e4b3844b2b 100644
--- a/mail/em-account-prefs.c
+++ b/mail/em-account-prefs.c
@@ -250,8 +250,8 @@ account_delete_clicked (GtkButton *button, gpointer user_data)
/* remove it from the folder-tree in the shell */
if (account->enabled && account->source && account->source->url)
- mail_component_remove_storage_by_uri (mail_component_peek (), account->source->url);
-
+ mail_component_remove_store_by_uri (mail_component_peek (), account->source->url);
+
/* remove it from the config file */
mail_config_remove_account (account);
accounts = mail_config_get_accounts ();
@@ -320,11 +320,11 @@ account_able_clicked (GtkButton *button, gpointer user_data)
folder-tree, otherwise add it to the folder-tree */
if (account->source->url) {
if (account->enabled)
- mail_component_load_storage_by_uri (component,
- account->source->url,
- account->name);
+ mail_component_load_store_by_uri (component,
+ account->source->url,
+ account->name);
else
- mail_component_remove_storage_by_uri (component, account->source->url);
+ mail_component_remove_store_by_uri (component, account->source->url);
}
mail_autoreceive_setup ();
@@ -360,14 +360,14 @@ account_able_toggled (GtkCellRendererToggle *renderer, char *arg1, gpointer user
if (account) {
MailComponent *component = mail_component_peek ();
-
+
/* if the account got disabled, remove it from the
folder-tree, otherwise add it to the folder-tree */
if (account->source->url) {
if (account->enabled)
- mail_component_load_storage_by_uri (component, account->source->url, account->name);
+ mail_component_load_store_by_uri (component, account->source->url, account->name);
else
- mail_component_remove_storage_by_uri (component, account->source->url);
+ mail_component_remove_store_by_uri (component, account->source->url);
}
mail_autoreceive_setup ();
diff --git a/mail/em-folder-selection-button.c b/mail/em-folder-selection-button.c
index 42964a10b2..a903514452 100644
--- a/mail/em-folder-selection-button.c
+++ b/mail/em-folder-selection-button.c
@@ -216,7 +216,7 @@ em_folder_selection_button_clicked (GtkButton *button)
(* GTK_BUTTON_CLASS (parent_class)->clicked) (button);
model = mail_component_get_tree_model (mail_component_peek ());
- emft = em_folder_tree_new_with_model (model);
+ emft = (EMFolderTree *) em_folder_tree_new_with_model (model);
dialog = em_folder_selector_new (emft, EM_FOLDER_SELECTOR_CAN_CREATE, priv->title, priv->caption);
em_folder_selector_set_selected ((EMFolderSelector *) dialog, priv->uri);
diff --git a/mail/mail-account-gui.c b/mail/mail-account-gui.c
index 10d8c8f1ff..40858ec792 100644
--- a/mail/mail-account-gui.c
+++ b/mail/mail-account-gui.c
@@ -48,8 +48,6 @@
#include "mail-mt.h"
#include "mail.h"
-#include "e-storage.h"
-
#if defined (HAVE_NSS)
#include "smime/gui/e-cert-selector.h"
#endif
@@ -57,7 +55,6 @@
#define d(x)
extern char *default_drafts_folder_uri, *default_sent_folder_uri;
-extern EvolutionShellClient *global_shell_client;
static void save_service (MailAccountGuiService *gsvc, GHashTable *extra_conf, EAccountService *service);
static void service_changed (GtkEntry *entry, gpointer user_data);
@@ -1935,23 +1932,13 @@ save_service (MailAccountGuiService *gsvc, GHashTable *extra_config, EAccountSer
static void
add_new_store (char *uri, CamelStore *store, void *user_data)
{
- EAccount *account = user_data;
MailComponent *component = mail_component_peek ();
- EStorage *storage;
+ EAccount *account = user_data;
if (store == NULL)
return;
-
- /* EPFIXME: Strange refcounting semantics here?! */
- storage = mail_component_lookup_storage (component, store);
- if (storage) {
- /* store is already in the folder tree, so do nothing */
- g_object_unref (storage);
- } else {
- /* store is *not* in the folder tree, so lets add it. */
- mail_component_add_store (component, store, account->name);
- }
+ mail_component_add_store (component, store, account->name);
}
gboolean
@@ -2064,11 +2051,11 @@ mail_account_gui_save (MailAccountGui *gui)
} else if (account->source->url) {
/* this means the account was edited - if the old and
new source urls are not identical, replace the old
- storage with the new storage */
+ store with the new store */
#define sources_equal(old,new) (new->url && !strcmp (old->url, new->url))
if (!sources_equal (account->source, new->source)) {
- /* Remove the old storage from the folder-tree */
- mail_component_remove_storage_by_uri (mail_component_peek (), account->source->url);
+ /* Remove the old store from the folder-tree */
+ mail_component_remove_store_by_uri (mail_component_peek (), account->source->url);
}
}
@@ -2085,7 +2072,7 @@ mail_account_gui_save (MailAccountGui *gui)
/* if the account provider is something we can stick
in the folder-tree and not added by some other
component, then get the CamelStore and add it to
- the shell storages */
+ the folder-tree */
if (is_storage && account->enabled)
mail_get_store (account->source->url, NULL, add_new_store, account);
diff --git a/mail/mail-component.c b/mail/mail-component.c
index 8d6abf07bf..1e78894e86 100644
--- a/mail/mail-component.c
+++ b/mail/mail-component.c
@@ -92,12 +92,12 @@ struct _MailComponentPrivate {
/* Utility functions. */
static void
-add_storage (MailComponent *component, const char *name, CamelService *store, CamelException *ex)
+add_store (MailComponent *component, const char *name, CamelStore *store, CamelException *ex)
{
camel_object_ref (store);
g_hash_table_insert (component->priv->store_hash, store, g_strdup (name));
- em_folder_tree_add_store (component->priv->emft, (CamelStore *) store, name);
- mail_note_store ((CamelStore *) store, NULL, NULL, NULL);
+ em_folder_tree_add_store (component->priv->emft, store, name);
+ mail_note_store (store, NULL, NULL, NULL);
}
static void
@@ -121,7 +121,7 @@ load_accounts (MailComponent *component, EAccountList *accounts)
name = account->name;
if (account->enabled && service->url != NULL)
- mail_component_load_storage_by_uri (component, service->url, name);
+ mail_component_load_store_by_uri (component, service->url, name);
e_iterator_next (iter);
}
@@ -130,7 +130,7 @@ load_accounts (MailComponent *component, EAccountList *accounts)
}
static void
-storage_go_online (gpointer key, gpointer value, gpointer data)
+store_go_online (gpointer key, gpointer value, gpointer data)
{
CamelStore *store = key;
CamelService *service = CAMEL_SERVICE (store);
@@ -150,9 +150,9 @@ storage_go_online (gpointer key, gpointer value, gpointer data)
static void
go_online (MailComponent *component)
{
- camel_session_set_online(session, TRUE);
- mail_session_set_interactive(TRUE);
- mail_component_storages_foreach(component, storage_go_online, NULL);
+ camel_session_set_online (session, TRUE);
+ mail_session_set_interactive (TRUE);
+ mail_component_stores_foreach (component, store_go_online, NULL);
}
static void
@@ -207,9 +207,9 @@ setup_local_store(MailComponent *component)
g_assert(p->local_store == NULL);
/* EPFIXME It should use base_directory once we have moved it. */
- store_uri = g_strconcat("mbox:", g_get_home_dir(), "/.evolution/mail/local", NULL);
- p->local_store = mail_component_load_storage_by_uri(component, store_uri, _("On this Computer"));
- camel_object_ref(p->local_store);
+ store_uri = g_strconcat("mbox:", g_get_home_dir (), "/.evolution/mail/local", NULL);
+ p->local_store = mail_component_load_store_by_uri (component, store_uri, _("On this Computer"));
+ camel_object_ref (p->local_store);
camel_exception_init (&ex);
for (i=0;i<sizeof(default_folders)/sizeof(default_folders[0]);i++) {
@@ -503,7 +503,7 @@ mail_component_peek (void)
/* FIXME: this should all be initialised in a starutp routine, not from the peek function,
this covers much of the ::init method's content too */
- vfolder_load_storage();
+ vfolder_load_storage ();
}
return component;
@@ -524,22 +524,20 @@ mail_component_peek_search_context (MailComponent *component)
void
-mail_component_add_store (MailComponent *component,
- CamelStore *store,
- const char *name)
+mail_component_add_store (MailComponent *component, CamelStore *store, const char *name)
{
CamelException ex;
-
+
camel_exception_init (&ex);
if (name == NULL) {
char *service_name;
service_name = camel_service_get_name ((CamelService *) store, TRUE);
- add_storage (component, service_name, (CamelService *) store, &ex);
+ add_store (component, service_name, store, &ex);
g_free (service_name);
} else {
- add_storage (component, name, (CamelService *) store, &ex);
+ add_store (component, name, store, &ex);
}
camel_exception_clear (&ex);
@@ -547,23 +545,19 @@ mail_component_add_store (MailComponent *component,
/**
- * mail_component_load_storage_by_uri:
- * @component:
- * @uri:
- * @name:
- *
- *
+ * mail_component_load_store_by_uri:
+ * @component: mail component
+ * @uri: uri of store
+ * @name: name of store (used for display purposes)
*
* Return value: Pointer to the newly added CamelStore. The caller is supposed
* to ref the object if it wants to store it.
**/
CamelStore *
-mail_component_load_storage_by_uri (MailComponent *component,
- const char *uri,
- const char *name)
+mail_component_load_store_by_uri (MailComponent *component, const char *uri, const char *name)
{
CamelException ex;
- CamelService *store;
+ CamelStore *store;
CamelProvider *prov;
camel_exception_init (&ex);
@@ -586,7 +580,7 @@ mail_component_load_storage_by_uri (MailComponent *component,
(prov->flags & CAMEL_PROVIDER_IS_EXTERNAL))
return NULL;
- store = camel_session_get_service (session, uri, CAMEL_PROVIDER_STORE, &ex);
+ store = (CamelStore *) camel_session_get_service (session, uri, CAMEL_PROVIDER_STORE, &ex);
if (store == NULL) {
/* EPFIXME: real error dialog */
g_warning ("couldn't get service %s: %s\n", uri,
@@ -596,38 +590,37 @@ mail_component_load_storage_by_uri (MailComponent *component,
}
if (name != NULL) {
- add_storage (component, name, store, &ex);
+ add_store (component, name, store, &ex);
} else {
char *service_name;
- service_name = camel_service_get_name (store, TRUE);
- add_storage (component, service_name, store, &ex);
+ service_name = camel_service_get_name ((CamelService *) store, TRUE);
+ add_store (component, service_name, store, &ex);
g_free (service_name);
}
if (camel_exception_is_set (&ex)) {
/* EPFIXME: real error dialog */
- g_warning ("Cannot load storage: %s",
+ g_warning ("Cannot load store: %s",
camel_exception_get_description (&ex));
camel_exception_clear (&ex);
}
- camel_object_unref (CAMEL_OBJECT (store));
- return CAMEL_STORE (store); /* (Still has one ref in the hash.) */
+ camel_object_unref (store);
+
+ return store;
}
static void
-store_disconnect (CamelStore *store,
- void *event_data,
- void *data)
+store_disconnect (CamelStore *store, void *event_data, void *user_data)
{
camel_service_disconnect (CAMEL_SERVICE (store), TRUE, NULL);
camel_object_unref (store);
}
void
-mail_component_remove_storage (MailComponent *component, CamelStore *store)
+mail_component_remove_store (MailComponent *component, CamelStore *store)
{
MailComponentPrivate *priv = component->priv;
char *name;
@@ -655,36 +648,35 @@ mail_component_remove_storage (MailComponent *component, CamelStore *store)
void
-mail_component_remove_storage_by_uri (MailComponent *component,
- const char *uri)
+mail_component_remove_store_by_uri (MailComponent *component, const char *uri)
{
CamelProvider *prov;
- CamelService *store;
-
- prov = camel_session_get_provider (session, uri, NULL);
- if (!prov)
+ CamelStore *store;
+
+ if (!(prov = camel_session_get_provider (session, uri, NULL)))
return;
+
if (!(prov->flags & CAMEL_PROVIDER_IS_STORAGE) ||
(prov->flags & CAMEL_PROVIDER_IS_EXTERNAL))
return;
-
- store = camel_session_get_service (session, uri, CAMEL_PROVIDER_STORE, NULL);
+
+ store = (CamelStore *) camel_session_get_service (session, uri, CAMEL_PROVIDER_STORE, NULL);
if (store != NULL) {
- mail_component_remove_storage (component, CAMEL_STORE (store));
- camel_object_unref (CAMEL_OBJECT (store));
+ mail_component_remove_store (component, store);
+ camel_object_unref (store);
}
}
int
-mail_component_get_storage_count (MailComponent *component)
+mail_component_get_store_count (MailComponent *component)
{
return g_hash_table_size (component->priv->store_hash);
}
void
-mail_component_storages_foreach (MailComponent *component, GHFunc func, void *user_data)
+mail_component_stores_foreach (MailComponent *component, GHFunc func, void *user_data)
{
g_hash_table_foreach (component->priv->store_hash, func, user_data);
}
@@ -693,9 +685,10 @@ mail_component_storages_foreach (MailComponent *component, GHFunc func, void *us
void
mail_component_remove_folder (MailComponent *component, CamelStore *store, const char *path)
{
- /* FIXME: implement me */
+ /* FIXME: implement me. but first, am I really even needed? */
}
+
EMFolderTreeModel *
mail_component_get_tree_model (MailComponent *component)
{
@@ -707,6 +700,7 @@ mail_component_get_tree_model (MailComponent *component)
return model;
}
+
extern struct _CamelSession *session;
char *em_uri_from_camel(const char *curi)
diff --git a/mail/mail-component.h b/mail/mail-component.h
index aab2dab4b3..1d31a22da5 100644
--- a/mail/mail-component.h
+++ b/mail/mail-component.h
@@ -63,24 +63,25 @@ GType mail_component_get_type (void);
MailComponent *mail_component_peek (void);
-const char *mail_component_peek_base_directory (MailComponent *component);
-RuleContext *mail_component_peek_search_context (MailComponent *component);
-
-void mail_component_add_store (MailComponent *component,
- CamelStore *store,
- const char *name);
-CamelStore *mail_component_load_storage_by_uri (MailComponent *component,
- const char *uri,
- const char *name);
-void mail_component_remove_storage (MailComponent *component,
- CamelStore *store);
-void mail_component_remove_storage_by_uri (MailComponent *component,
- const char *uri);
-
-int mail_component_get_storage_count (MailComponent *component);
-void mail_component_storages_foreach (MailComponent *component,
- GHFunc func,
- void *data);
+const char *mail_component_peek_base_directory (MailComponent *component);
+RuleContext *mail_component_peek_search_context (MailComponent *component);
+
+void mail_component_add_store (MailComponent *component,
+ CamelStore *store,
+ const char *name);
+CamelStore *mail_component_load_store_by_uri (MailComponent *component,
+ const char *uri,
+ const char *name);
+
+void mail_component_remove_store (MailComponent *component,
+ CamelStore *store);
+void mail_component_remove_store_by_uri (MailComponent *component,
+ const char *uri);
+
+int mail_component_get_store_count (MailComponent *component);
+void mail_component_stores_foreach (MailComponent *component,
+ GHFunc func,
+ void *data);
void mail_component_remove_folder (MailComponent *component, CamelStore *store, const char *path);
diff --git a/mail/mail-offline-handler.c b/mail/mail-offline-handler.c
index 5a39249765..6a44b05712 100644
--- a/mail/mail-offline-handler.c
+++ b/mail/mail-offline-handler.c
@@ -58,7 +58,7 @@ service_is_relevant (CamelService *service, gboolean going_offline)
}
static void
-add_connection (gpointer key, gpointer data, gpointer user_data)
+add_connection (gpointer key, gpointer value, gpointer user_data)
{
CamelService *service = key;
GNOME_Evolution_ConnectionList *list = user_data;
@@ -78,11 +78,11 @@ create_connection_list (void)
list = GNOME_Evolution_ConnectionList__alloc ();
list->_length = 0;
- list->_maximum = mail_component_get_storage_count (mail_component_peek ());
+ list->_maximum = mail_component_get_store_count (mail_component_peek ());
list->_buffer = CORBA_sequence_GNOME_Evolution_Connection_allocbuf (list->_maximum);
-
- mail_component_storages_foreach (mail_component_peek (), add_connection, list);
-
+
+ mail_component_stores_foreach (mail_component_peek (), add_connection, list);
+
return list;
}
@@ -234,12 +234,12 @@ went_offline (CamelStore *store, void *data)
}
static void
-storage_go_offline (gpointer key, gpointer value, gpointer data)
+store_go_offline (gpointer key, gpointer value, gpointer data)
{
CamelStore *store = key;
GNOME_Evolution_OfflineProgressListener listener = data;
CORBA_Environment ev;
-
+
CORBA_exception_init(&ev);
if (service_is_relevant (CAMEL_SERVICE (store), TRUE)) {
mail_store_set_offline (store, TRUE, went_offline, CORBA_Object_duplicate(listener, &ev));
@@ -261,14 +261,14 @@ impl_goOffline (PortableServer_Servant servant,
/* FIXME: If send/receive active, wait for it to finish */
- mail_component_storages_foreach (mail_component_peek (), storage_go_offline, progress_listener);
+ mail_component_stores_foreach (mail_component_peek (), store_go_offline, progress_listener);
}
static void
-storage_go_online (gpointer key, gpointer value, gpointer data)
+store_go_online (gpointer key, gpointer value, gpointer data)
{
CamelStore *store = key;
-
+
if (service_is_relevant (CAMEL_SERVICE (store), FALSE)) {
mail_store_set_offline (store, FALSE, NULL, NULL);
mail_note_store (store, NULL, NULL, NULL);
@@ -281,14 +281,14 @@ impl_goOnline (PortableServer_Servant servant,
{
MailOfflineHandler *offline_handler;
MailOfflineHandlerPrivate *priv;
-
+
offline_handler = MAIL_OFFLINE_HANDLER (bonobo_object_from_servant (servant));
priv = offline_handler->priv;
-
+
/* Enable auto-mail-checking */
camel_session_set_online (session, TRUE);
-
- mail_component_storages_foreach (mail_component_peek (), storage_go_online, NULL);
+
+ mail_component_stores_foreach (mail_component_peek (), store_go_online, NULL);
}
/* GObject methods. */