aboutsummaryrefslogtreecommitdiffstats
path: root/capplet
diff options
context:
space:
mode:
Diffstat (limited to 'capplet')
-rw-r--r--capplet/settings/Makefile.am1
-rw-r--r--capplet/settings/mail-capplet-shell.c28
2 files changed, 28 insertions, 1 deletions
diff --git a/capplet/settings/Makefile.am b/capplet/settings/Makefile.am
index e6ea573c11..dd8c3c9a45 100644
--- a/capplet/settings/Makefile.am
+++ b/capplet/settings/Makefile.am
@@ -25,6 +25,7 @@ libevolution_mail_settings_la_CPPFLAGS = \
-DEVOLUTION_PRIVDATADIR=\""$(privdatadir)"\" \
-DEVOLUTION_ETSPECDIR=\""$(etspecdir)"\" \
-DEVOLUTION_ICONSDIR=\""$(imagesdir)"\" \
+ -DEVOLUTION_MODULEDIR=\""$(moduledir)"\" \
-DEVOLUTION_IMAGES=\""$(imagesdir)"\" \
-DEVOLUTION_GALVIEWSDIR=\""$(viewsdir)"\" \
-DEVOLUTION_BUTTONSDIR=\""$(buttonsdir)"\" \
diff --git a/capplet/settings/mail-capplet-shell.c b/capplet/settings/mail-capplet-shell.c
index 5a70fad6d4..ebcb5cd355 100644
--- a/capplet/settings/mail-capplet-shell.c
+++ b/capplet/settings/mail-capplet-shell.c
@@ -43,6 +43,8 @@
#include <mail/mail-mt.h>
#include <mail/e-mail-store.h>
+#include <shell/e-shell.h>
+
enum {
CTRL_W_PRESSED,
CTRL_Q_PRESSED,
@@ -202,6 +204,7 @@ mail_capplet_shell_construct (MailCappletShell *shell, gint socket_id, gboolean
{
MailCappletShellPrivate *priv = shell->priv;
GtkStyle *style = gtk_widget_get_default_style ();
+ EShell *eshell;
EMailSession *session;
gchar *custom_dir;
@@ -239,7 +242,30 @@ mail_capplet_shell_construct (MailCappletShell *shell, gint socket_id, gboolean
camel_provider_init ();
- shell->priv->backend = g_object_new (E_TYPE_MAIL_BACKEND, NULL);
+ eshell = e_shell_get_default ();
+
+ if (eshell == NULL) {
+ GError *error = NULL;
+
+ eshell = g_initable_new (
+ E_TYPE_SHELL, NULL, &error,
+ "application-id", "org.gnome.Evolution",
+ "flags", 0,
+ "geometry", NULL,
+ "module-directory", EVOLUTION_MODULEDIR,
+ "meego-mode", FALSE,
+ "express-mode", FALSE,
+ "small-screen-mode", FALSE,
+ "online", FALSE,
+ NULL);
+
+ if (error != NULL)
+ g_error ("%s", error->message);
+
+ e_shell_load_modules (eshell);
+ }
+
+ shell->priv->backend = E_MAIL_BACKEND (e_shell_get_backend_by_name (eshell, "mail"));
session = e_mail_backend_get_session (shell->priv->backend);
shell->view = mail_view_new ();