aboutsummaryrefslogtreecommitdiffstats
path: root/capplet/settings
diff options
context:
space:
mode:
Diffstat (limited to 'capplet/settings')
-rw-r--r--capplet/settings/Makefile.am.orig65
-rw-r--r--capplet/settings/anjal-mail-view.c44
-rw-r--r--capplet/settings/mail-account-view.c49
-rw-r--r--capplet/settings/mail-account-view.c.orig1104
-rw-r--r--capplet/settings/mail-capplet-shell.c28
-rw-r--r--capplet/settings/mail-capplet-shell.c.orig395
-rw-r--r--capplet/settings/mail-settings-view.c22
-rw-r--r--capplet/settings/mail-view.c97
8 files changed, 136 insertions, 1668 deletions
diff --git a/capplet/settings/Makefile.am.orig b/capplet/settings/Makefile.am.orig
deleted file mode 100644
index 1367fd5a75..0000000000
--- a/capplet/settings/Makefile.am.orig
+++ /dev/null
@@ -1,65 +0,0 @@
-privsolib_LTLIBRARIES = libevolution-mail-settings.la
-
-libevolution_mail_settings_la_CPPFLAGS = \
- $(AM_CPPFLAGS) \
- -I$(top_srcdir)/widgets \
- -I$(top_srcdir)/widgets/misc \
- -I$(top_srcdir) \
- -I$(top_srcdir)/e-util \
- -I$(top_srcdir)/em-format \
- -I$(top_srcdir)/mail \
- -I$(top_srcdir)/composer \
- -I$(top_builddir)/composer \
- -I$(top_builddir)/shell \
- -I$(top_srcdir)/shell \
- -I$(top_srcdir)/smime/lib \
- -I$(top_srcdir)/smime/gui \
- $(EVOLUTION_DATA_SERVER_CFLAGS) \
- $(GNOME_PLATFORM_CFLAGS) \
- $(CERT_UI_CFLAGS) \
- $(CANBERRA_CFLAGS) \
- $(GTKHTML_CFLAGS) \
- -DANJAL_SETTINGS \
- -DEVOLUTION_DATADIR=\""$(datadir)"\" \
- -DEVOLUTION_PRIVDATADIR=\""$(privdatadir)"\" \
- -DEVOLUTION_ETSPECDIR=\""$(etspecdir)"\" \
- -DEVOLUTION_ICONSDIR=\""$(imagesdir)"\" \
- -DEVOLUTION_MODULEDIR=\""$(moduledir)"\" \
- -DEVOLUTION_IMAGES=\""$(imagesdir)"\" \
- -DEVOLUTION_GALVIEWSDIR=\""$(viewsdir)"\" \
- -DEVOLUTION_BUTTONSDIR=\""$(buttonsdir)"\" \
- -DEVOLUTION_LOCALEDIR=\""$(localedir)"\" \
- -DEVOLUTION_UIDIR=\""$(uidir)"\" \
- -DCAMEL_PROVIDERDIR=\""$(camel_providerdir)"\" \
- -DPREFIX=\""$(prefix)"\" \
- -DG_LOG_DOMAIN=\"evolution-mail\" \
- -DPACKAGE_LOCALE_DIR=\""$(prefix)/$(DATADIRNAME)/locale"\" \
- -DPACKAGE_DATA_DIR=\""$(datadir)"\"
-
-libevolution_mail_settings_la_SOURCES = \
- mail-settings-view.c \
- mail-settings-view.h \
- mail-account-view.c \
- mail-account-view.h \
- mail-view.c \
- mail-view.h \
- mail-capplet-shell.c \
- mail-capplet-shell.h \
- anjal-mail-view.h \
- anjal-mail-view.c
-
-libevolution_mail_settings_la_LIBADD = \
- $(EVOLUTION_DATA_SERVER_LIBS) \
- $(GNOME_PLATFORM_LIBS) \
- $(CERT_UI_LIBS) \
- $(CANBERRA_LIBS) \
- $(GTKHTML_LIBS) \
- $(SMIME_LIBS) \
- $(top_builddir)/widgets/misc/libemiscwidgets.la \
- $(top_builddir)/filter/libfilter.la \
- $(top_builddir)/mail/libevolution-mail.la \
- $(top_builddir)/shell/libeshell.la \
- $(top_builddir)/e-util/libeutil.la
-
-libevolution_mail_settings_la_LDFLAGS = $(NO_UNDEFINED)
-
diff --git a/capplet/settings/anjal-mail-view.c b/capplet/settings/anjal-mail-view.c
index 232b8ff118..9307b0aeca 100644
--- a/capplet/settings/anjal-mail-view.c
+++ b/capplet/settings/anjal-mail-view.c
@@ -31,32 +31,9 @@
#include "libemail-engine/mail-ops.h"
#include "mail/em-folder-tree.h"
-struct _AnjalMailViewPrivate {
-
- gboolean started;
-};
-
G_DEFINE_TYPE (AnjalMailView, anjal_mail_view, GTK_TYPE_NOTEBOOK)
static void
-anjal_mail_view_init (AnjalMailView *shell)
-{
- shell->priv = g_new0 (AnjalMailViewPrivate, 1);
- shell->priv->started = TRUE;
-}
-
-static void
-anjal_mail_view_finalize (GObject *object)
-{
- AnjalMailView *shell = (AnjalMailView *) object;
- AnjalMailViewPrivate *priv = shell->priv;
-
- g_free (priv);
-
- G_OBJECT_CLASS (anjal_mail_view_parent_class)->finalize (object);
-}
-
-static void
view_set_folder_uri (AnjalMailView *mail_view,
const gchar *uri)
{
@@ -87,16 +64,17 @@ view_init_search (AnjalMailView *mail_view,
}
static void
-anjal_mail_view_class_init (AnjalMailViewClass *klass)
+anjal_mail_view_class_init (AnjalMailViewClass *class)
{
- GObjectClass * object_class = G_OBJECT_CLASS (klass);
-
- anjal_mail_view_parent_class = g_type_class_peek_parent (klass);
- object_class->finalize = anjal_mail_view_finalize;
- klass->set_folder_uri = view_set_folder_uri;
- klass->set_folder_tree_widget = view_set_folder_tree_widget;
- klass->set_folder_tree = view_set_folder_tree;
- klass->set_search = view_set_search;
- klass->init_search = view_init_search;
+ class->set_folder_uri = view_set_folder_uri;
+ class->set_folder_tree_widget = view_set_folder_tree_widget;
+ class->set_folder_tree = view_set_folder_tree;
+ class->set_search = view_set_search;
+ class->init_search = view_init_search;
};
+static void
+anjal_mail_view_init (AnjalMailView *shell)
+{
+}
+
diff --git a/capplet/settings/mail-account-view.c b/capplet/settings/mail-account-view.c
index 4150c9b51c..7ee0a868f4 100644
--- a/capplet/settings/mail-account-view.c
+++ b/capplet/settings/mail-account-view.c
@@ -103,11 +103,11 @@ mail_account_view_finalize (GObject *object)
}
static void
-mail_account_view_class_init (MailAccountViewClass *klass)
+mail_account_view_class_init (MailAccountViewClass *class)
{
- GObjectClass * object_class = G_OBJECT_CLASS (klass);
+ GObjectClass * object_class = G_OBJECT_CLASS (class);
- mail_account_view_parent_class = g_type_class_peek_parent (klass);
+ mail_account_view_parent_class = g_type_class_peek_parent (class);
object_class->finalize = mail_account_view_finalize;
signals[VIEW_CLOSE] =
@@ -481,9 +481,8 @@ create_review (MailAccountView *view)
gchar *user = NULL;
CamelNetworkSecurityMethod method;
EMConfigTargetSettings *target;
-
- target = (EMConfigTargetSettings *) ((EConfig *)view->edit->config)->target;
+ target = (EMConfigTargetSettings *) ((EConfig *) view->edit->config)->target;
g_object_get (view->edit, "store-settings", &source_settings, NULL);
g_object_get (view->edit, "transport-settings", &transport_settings, NULL);
@@ -596,7 +595,7 @@ create_review (MailAccountView *view)
"host", &host, "user", &user,
"security-method", &method, NULL);
protocol = target->transport_protocol;
-
+
switch (method) {
case CAMEL_NETWORK_SECURITY_METHOD_SSL_ON_ALTERNATE_PORT:
encryption = _("Always (SSL)");
@@ -608,7 +607,7 @@ create_review (MailAccountView *view)
encryption = _("Never");
break;
}
-
+
label = gtk_label_new (NULL);
buff = g_markup_printf_escaped ("<span size=\"large\" weight=\"bold\">%s</span>", _("Sending"));
gtk_label_set_markup ((GtkLabel *) label, buff);
@@ -689,7 +688,7 @@ struct _page_text {
static gboolean
mav_check_same_source_transport (MailAccountView *mav)
{
- EAccount *account = em_account_editor_get_modified_account(mav->edit);
+ EAccount *account = em_account_editor_get_modified_account (mav->edit);
const gchar *uri;
gchar *current = NULL;
gboolean ret = FALSE;
@@ -700,8 +699,8 @@ mav_check_same_source_transport (MailAccountView *mav)
gint len;
if (colon) {
- len = colon-uri;
- current = g_alloca (len+1);
+ len = colon - uri;
+ current = g_alloca (len + 1);
memcpy (current, uri, len);
current[len] = 0;
}
@@ -709,9 +708,9 @@ mav_check_same_source_transport (MailAccountView *mav)
if (current) {
GList *l;
- for (l=mav->priv->providers; l; l=l->next) {
+ for (l = mav->priv->providers; l; l = l->next) {
CamelProvider *provider = l->data;
-
+
if (strcmp (provider->protocol, current) == 0 &&
CAMEL_PROVIDER_IS_STORE_AND_TRANSPORT (provider)) {
ret = TRUE;
@@ -794,7 +793,7 @@ mav_next_pressed (GtkButton *button,
if (mav->current_page == MAV_RECV_OPT_PAGE && mav->original == NULL)
mav->current_page++; /* Skip recv options in new account creation. */
if (mav->current_page == MAV_SEND_PAGE && mav_check_same_source_transport (mav)) {
- mav->current_page++; /* Skip send page if the provider does both source and transport*/
+ mav->current_page++; /* Skip send page if the provider does both source and transport */
}
if (mav->current_page == MAV_DEFAULTS_PAGE && mav->original == NULL)
mav->current_page++; /* Skip defaults in new account creation. */
@@ -805,10 +804,10 @@ mav_next_pressed (GtkButton *button,
EAccount *account = em_account_editor_get_modified_account (mav->edit);
CamelNetworkSettings *settings = NULL;
const gchar *host = NULL;
-
+
g_object_get (mav->edit, "store-settings", &settings, NULL);
host = camel_network_settings_get_host (settings);
-
+
if (page->main)
gtk_widget_destroy (page->main);
@@ -958,8 +957,8 @@ mav_prev_pressed (GtkButton *button,
if (mav->current_page == MAV_DEFAULTS_PAGE && mav->original == NULL)
mav->current_page--; /* Skip defaults in new account creation. */
if (mav->current_page == MAV_SEND_PAGE && mav_check_same_source_transport (mav)) {
- mav->current_page--; /* Skip send page if the provider does both source and transport*/
- }
+ mav->current_page--; /* Skip send page if the provider does both source and transport */
+ }
if (mav->current_page == MAV_RECV_OPT_PAGE && mav->original == NULL)
mav->current_page--; /* Skip recv options in new account creation. */
gtk_widget_show (mav->pages[mav->current_page]->box);
@@ -1032,7 +1031,9 @@ mav_construct_page (MailAccountView *view,
page->prev = gtk_button_new ();
gtk_container_add ((GtkContainer *) page->prev, box);
gtk_widget_show_all (page->prev);
- g_signal_connect (page->prev, "clicked", G_CALLBACK(mav_prev_pressed), view);
+ g_signal_connect (
+ page->prev, "clicked",
+ G_CALLBACK (mav_prev_pressed), view);
}
if ((view->original && mail_account_pages[type].next_edit) || mail_account_pages[type].next) {
@@ -1047,7 +1048,9 @@ mav_construct_page (MailAccountView *view,
gtk_widget_set_can_default (page->next, TRUE);
gtk_container_add ((GtkContainer *) page->next, box);
gtk_widget_show_all (page->next);
- g_signal_connect (page->next, "clicked", G_CALLBACK(mav_next_pressed), view);
+ g_signal_connect (
+ page->next, "clicked",
+ G_CALLBACK (mav_next_pressed), view);
}
box = gtk_hbox_new (FALSE, 0);
@@ -1117,7 +1120,9 @@ mail_account_view_construct (MailAccountView *view,
pwd = gtk_entry_new ();
gtk_entry_set_visibility ((GtkEntry *) pwd, FALSE);
/* gtk_entry_set_activates_default ((GtkEntry *)pwd, TRUE); */
- g_signal_connect (pwd, "activate", G_CALLBACK (next_page), view);
+ g_signal_connect (
+ pwd, "activate",
+ G_CALLBACK (next_page), view);
gtk_widget_show (label);
gtk_widget_show (pwd);
gtk_table_attach ((GtkTable *) table, label, 0, 1, 2, 3, GTK_FILL, 0, 0, 0);
@@ -1166,7 +1171,9 @@ mail_account_view_get_tab_widget (MailAccountView *mcv)
gtk_button_set_relief ((GtkButton *) tool, GTK_RELIEF_NONE);
gtk_button_set_focus_on_click ((GtkButton *) tool, FALSE);
gtk_widget_set_tooltip_text (tool, _("Close Tab"));
- g_signal_connect (tool, "clicked", G_CALLBACK(mav_close), mcv);
+ g_signal_connect (
+ tool, "clicked",
+ G_CALLBACK (mav_close), mcv);
box = gtk_hbox_new (FALSE, 0);
gtk_box_pack_start ((GtkBox *) box, img, FALSE, FALSE, 0);
diff --git a/capplet/settings/mail-account-view.c.orig b/capplet/settings/mail-account-view.c.orig
deleted file mode 100644
index 594744021b..0000000000
--- a/capplet/settings/mail-account-view.c.orig
+++ /dev/null
@@ -1,1104 +0,0 @@
-/*
- * This program is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Lesser General Public
- * License as published by the Free Software Foundation; either
- * version 2 of the License, or (at your option) version 3.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * Lesser General Public License for more details.
- *
- * You should have received a copy of the GNU Lesser General Public
- * License along with the program; if not, see <http://www.gnu.org/licenses/>
- *
- *
- * Authors:
- * Srinivasa Ragavan <sragavan@novell.com>
- *
- * Copyright (C) 2009 Novell, Inc. (www.novell.com)
- *
- */
-
-#ifdef HAVE_CONFIG_H
-#include <config.h>
-#endif
-
-#include <glib/gi18n.h>
-#include "mail-account-view.h"
-#include <libedataserverui/e-passwords.h>
-#include <libedataserver/e-source-group.h>
-#include <libedataserver/e-source-list.h>
-#include <libedataserver/e-account-list.h>
-#include "mail-view.h"
-#include "e-util/e-config.h"
-#include "mail/e-mail-backend.h"
-
-struct _MailAccountViewPrivate {
- GtkWidget *tab_str;
-
- GtkWidget *calendar;
- GtkWidget *gcontacts;
- GtkWidget *gmail_info_label;
-
- GtkWidget *account_label;
- GtkWidget *gmail_link;
- GtkWidget *yahoo_cal_box;
-
- gboolean is_gmail;
- gboolean is_yahoo;
- gboolean do_gcontacts;
- gboolean do_calendar;
-
- gchar *username;
-
- GtkWidget *yahoo_cal_entry;
-};
-
-G_DEFINE_TYPE (MailAccountView, mail_account_view, GTK_TYPE_VBOX)
-
-enum {
- VIEW_CLOSE,
- LAST_SIGNAL
-};
-
-enum {
- ERROR_NO_FULLNAME = 1,
- ERROR_NO_EMAIL = 2,
- ERROR_INVALID_EMAIL = 3,
- ERROR_NO_PASSWORD = 4,
-};
-
-struct _dialog_errors {
- gint error;
- const gchar *detail;
-} dialog_errors[] = {
- { ERROR_NO_FULLNAME, N_("Please enter your full name.") },
- { ERROR_NO_EMAIL, N_("Please enter your email address.") },
- { ERROR_INVALID_EMAIL, N_("The email address you have entered is invalid.") },
- { ERROR_NO_PASSWORD, N_("Please enter your password.") }
-};
-static guint signals[LAST_SIGNAL] = { 0 };
-
-static void
-mail_account_view_init (MailAccountView *shell)
-{
- shell->priv = g_new0 (MailAccountViewPrivate, 1);
-
- shell->priv->is_gmail = FALSE;
- shell->priv->is_yahoo = FALSE;
- shell->priv->username = NULL;
-}
-
-static void
-mail_account_view_finalize (GObject *object)
-{
- MailAccountView *shell = (MailAccountView *) object;
-
- g_free (shell->priv->username);
-
- G_OBJECT_CLASS (mail_account_view_parent_class)->finalize (object);
-}
-
-static void
-mail_account_view_class_init (MailAccountViewClass *klass)
-{
- GObjectClass * object_class = G_OBJECT_CLASS (klass);
-
- mail_account_view_parent_class = g_type_class_peek_parent (klass);
- object_class->finalize = mail_account_view_finalize;
-
- signals[VIEW_CLOSE] =
- g_signal_new ("view-close",
- G_OBJECT_CLASS_TYPE (object_class),
- G_SIGNAL_RUN_FIRST,
- G_STRUCT_OFFSET (MailAccountViewClass , view_close),
- NULL, NULL,
- g_cclosure_marshal_VOID__VOID,
- G_TYPE_NONE, 0);
-
-}
-
-#ifdef NOT_USED
-
-enum {
- GMAIL = 0,
- YAHOO,
- AOL
-};
-struct _server_prefill {
- gchar *key;
- gchar *recv;
- gchar *send;
- gchar *proto;
- gchar *ssl;
-} std_server[] = {
- {"gmail", "imap.gmail.com", "smtp.gmail.com", "imap", "always"},
- {"yahoo", "pop3.yahoo.com", "smtp.yahoo.com", "pop", "never"},
- {"aol", "imap.aol.com", "smtp.aol.com", "pop", "never"},
- {"msn", "pop3.email.msn.com", "smtp.email.msn.com", "pop", "never"}
-};
-static gint
-check_servers (gchar *server)
-{
- gint len = G_N_ELEMENTS (std_server), i;
-
- for (i = 0; i < len; i++) {
- if (strstr (server, std_server[i].key) != NULL)
- return i;
- }
-
- return -1;
-}
-#endif
-static void
-save_identity (MailAccountView *view)
-{
-}
-
-static gint
-validate_identity (MailAccountView *view)
-{
- gchar *user = (gchar *) e_account_get_string (em_account_editor_get_modified_account (view->edit), E_ACCOUNT_ID_NAME);
- gchar *email = (gchar *) e_account_get_string (em_account_editor_get_modified_account (view->edit), E_ACCOUNT_ID_ADDRESS);
- gchar *tmp;
- const gchar *pwd = gtk_entry_get_text ((GtkEntry *) view->password);
-
- if (!user || !*user)
- return ERROR_NO_FULLNAME;
- if (!email || !*email)
- return ERROR_NO_EMAIL;
- if (view->original) /* We don't query/store pwd on edit. */
- return 0;
- if (!pwd || !*pwd)
- return ERROR_NO_PASSWORD;
-
- tmp = strchr (email, '@');
- if (!tmp || tmp[1] == 0)
- return ERROR_INVALID_EMAIL;
-
- return 0;
-}
-#ifdef NOT_USED
-static void
-save_send (MailAccountView *view)
-{
-}
-
-static void
-save_account (MailAccountView *view)
-{
-}
-#endif
-
-#define PACK_BOX(w) box = gtk_hbox_new(FALSE, 0); gtk_box_pack_start((GtkBox *)box, w, FALSE, FALSE, 12); gtk_widget_show(box);
-#define PACK_BOXF(w) box = gtk_hbox_new(FALSE, 0); gtk_box_pack_start((GtkBox *)box, w, FALSE, FALSE, 0); gtk_widget_show(box);
-
-#define CALENDAR_CALDAV_URI "caldav://%s@www.google.com/calendar/dav/%s/events"
-#define GMAIL_CALENDAR_LOCATION "://www.google.com/calendar/feeds/"
-#define CALENDAR_DEFAULT_PATH "/private/full"
-#define SELECTED_CALENDARS "/apps/evolution/calendar/display/selected_calendars"
-#define YAHOO_CALENDAR_LOCATION "%s@caldav.calendar.yahoo.com/dav/%s/Calendar/%s"
-static gboolean
-is_email (const gchar *address)
-{
- /* This is supposed to check if the address's domain could be
- * an FQDN but alas, it's not worth the pain and suffering. */
- const gchar *at;
-
- at = strchr (address, '@');
- /* make sure we have an '@' and that it's not the first or last gchar */
- if (!at || at == address || *(at + 1) == '\0')
- return FALSE;
-
- return TRUE;
-}
-
-static gchar *
-sanitize_user_mail (const gchar *user)
-{
- if (!user)
- return NULL;
-
- if (strstr (user, "%40") != NULL) {
- return g_strdup (user);
- } else if (!is_email (user)) {
- return g_strconcat (user, "%40gmail.com", NULL);
- } else {
- gchar *tmp = g_malloc0 (sizeof (gchar) * (1 + strlen (user) + 2));
- gchar *at = strchr (user, '@');
-
- strncpy (tmp, user, at - user);
- strcat (tmp, "%40");
- strcat (tmp, at + 1);
-
- return tmp;
- }
-}
-
-static void
-add_selected_calendar (const gchar *uid)
-{
- gchar **ids;
- gint i;
- GPtrArray *array;
- GSettings *settings;
-
- settings = g_settings_new ("org.gnome.evolution.calendar");
- ids = g_settings_get_strv (settings, "selected-calendars");
-
- array = g_ptr_array_new ();
- for (i = 0; ids[i] != NULL; i++)
- g_ptr_array_add (array, ids[i]);
- g_ptr_array_add (array, (gpointer) uid);
- g_ptr_array_add (array, NULL);
-
- g_settings_set_strv (settings, "selected-calendars", (const gchar* const *) array->pdata);
-
- g_ptr_array_free (array, TRUE);
- g_object_unref (settings);
-}
-
-static void
-setup_yahoo_account (MailAccountView *mav)
-{
- GConfClient *gconf = gconf_client_get_default ();
-
- mav->priv->do_gcontacts = gtk_toggle_button_get_active ((GtkToggleButton *) mav->priv->gcontacts);
- mav->priv->do_calendar = gtk_toggle_button_get_active ((GtkToggleButton *) mav->priv->calendar);
-
- if (mav->priv->do_calendar) {
- ESourceList *slist;
- ESourceGroup *sgrp;
- ESource *calendar;
- gchar *sanitize_uname, *abs_uri, *rel_uri;
- const gchar *email = e_account_get_string (em_account_editor_get_modified_account (mav->edit), E_ACCOUNT_ID_ADDRESS);
-
- slist = e_source_list_new_for_gconf (gconf, "/apps/evolution/calendar/sources");
- sgrp = e_source_list_peek_group_by_base_uri (slist, "caldav://");
- if (!sgrp) {
- sgrp = e_source_list_ensure_group (slist, _("CalDAV"), "caldav://", TRUE);
- }
-
- printf("Setting up Yahoo Calendar: list:%p CalDAVGrp: %p\n", slist, sgrp);
-
- /* FIXME: Not sure if we should localize 'Calendar' */
- calendar = e_source_new ("Yahoo", "");
- e_source_set_property (calendar, "ssl", "1");
- e_source_set_property (calendar, "refresh", "30");
- e_source_set_property (calendar, "refresh-type", "0");
- e_source_set_property (calendar, "auth", "1");
- e_source_set_property (calendar, "offline_sync", "1");
- e_source_set_property (calendar, "username", email);
- e_source_set_property (calendar, "default", "true");
- e_source_set_property (calendar, "alarm", "true");
-
- e_source_set_readonly (calendar, FALSE);
-
- sanitize_uname = sanitize_user_mail (email);
-
- abs_uri = g_strdup_printf ("caldav://%s@caldav.calendar.yahoo.com/dav/%s/Calendar/%s/", sanitize_uname, email, gtk_entry_get_text((GtkEntry *)mav->priv->yahoo_cal_entry));
- e_passwords_add_password (abs_uri, gtk_entry_get_text ((GtkEntry *) mav->password));
- e_passwords_remember_password (NULL, abs_uri);
-
- rel_uri = g_strdup_printf (YAHOO_CALENDAR_LOCATION, sanitize_uname, email, gtk_entry_get_text ((GtkEntry *) mav->priv->yahoo_cal_entry));
- e_source_set_relative_uri (calendar, rel_uri);
-
- e_source_group_add_source (sgrp, calendar, -1);
- e_source_list_sync (slist, NULL);
-
- add_selected_calendar (e_source_peek_uid (calendar));
-
- g_free (abs_uri);
- g_free (rel_uri);
- g_free (sanitize_uname);
- g_object_unref (slist);
- g_object_unref (sgrp);
- g_object_unref (calendar);
- } else
- printf("Not setting up Yahoo Calendar\n");
-
- if (mav->priv->do_gcontacts) {
- ESourceList *slist;
- ESourceGroup *sgrp;
- ESource *abook;
- gchar *rel_uri;;
-
- slist = e_source_list_new_for_gconf (gconf, "/apps/evolution/addressbook/sources" );
-
- sgrp = e_source_list_peek_group_by_base_uri (slist, "google://");
-
- /* FIXME: Not sure if we should localize 'Contacts' */
- abook = e_source_new ("Contacts", "");
- e_source_set_property (abook, "default", "true");
- e_source_set_property (abook, "offline_sync", "1");
- e_source_set_property (abook, "auth", "plain/password");
- e_source_set_property (abook, "use-ssl", "true");
- e_source_set_property (abook, "remember_password", "true");
- e_source_set_property (abook, "refresh-interval", "86400");
- e_source_set_property (abook, "completion", "true");
- e_source_set_property (abook, "username", mav->priv->username);
- e_source_set_relative_uri (abook, mav->priv->username);
-
- rel_uri = g_strdup_printf("google://%s/", mav->priv->username);
- e_passwords_add_password (rel_uri, gtk_entry_get_text ((GtkEntry *) mav->password));
- e_passwords_remember_password (NULL, rel_uri);
- e_source_group_add_source (sgrp, abook, -1);
- e_source_list_sync (slist, NULL);
-
- g_free (rel_uri);
- g_object_unref (slist);
- g_object_unref (sgrp);
- g_object_unref (abook);
-
- }
-
- g_object_unref (gconf);
-}
-
-static void
-setup_google_accounts (MailAccountView *mav)
-{
- GConfClient *gconf = gconf_client_get_default ();
-
- mav->priv->do_gcontacts = gtk_toggle_button_get_active ((GtkToggleButton *) mav->priv->gcontacts);
- mav->priv->do_calendar = gtk_toggle_button_get_active ((GtkToggleButton *) mav->priv->calendar);
-
- if (mav->priv->do_calendar) {
- ESourceList *slist;
- ESourceGroup *sgrp;
- ESource *calendar;
- gchar *sanitize_uname, *abs_uri, *rel_uri;
-
- slist = e_source_list_new_for_gconf (gconf, "/apps/evolution/calendar/sources");
- sgrp = e_source_list_ensure_group (slist, _("Google"), "google://", TRUE);
-
- /* FIXME: Not sure if we should localize 'Calendar' */
- calendar = e_source_new ("Calendar", "");
- e_source_set_property (calendar, "ssl", "1");
- e_source_set_property (calendar, "refresh", "30");
- e_source_set_property (calendar, "auth", "1");
- e_source_set_property (calendar, "offline_sync", "1");
- e_source_set_property (calendar, "username", mav->priv->username);
- e_source_set_property (calendar, "setup-username", mav->priv->username);
- e_source_set_property (calendar, "default", "true");
- e_source_set_readonly (calendar, FALSE);
-
- e_source_group_add_source (sgrp, calendar, -1);
-
- sanitize_uname = sanitize_user_mail (mav->priv->username);
-
- abs_uri = g_strdup_printf (CALENDAR_CALDAV_URI, sanitize_uname, mav->priv->username);
- e_source_set_absolute_uri (calendar, abs_uri);
-
- e_passwords_add_password (abs_uri, gtk_entry_get_text ((GtkEntry *) mav->password));
- e_passwords_remember_password (NULL, abs_uri);
- rel_uri = g_strconcat ("https", GMAIL_CALENDAR_LOCATION, sanitize_uname, CALENDAR_DEFAULT_PATH, NULL);
- e_source_set_relative_uri (calendar, rel_uri);
-
- e_source_list_sync (slist, NULL);
-
- add_selected_calendar (e_source_peek_uid (calendar));
-
- g_free (abs_uri);
- g_free (rel_uri);
- g_free (sanitize_uname);
- g_object_unref (slist);
- g_object_unref (sgrp);
- g_object_unref (calendar);
- }
-
- if (mav->priv->do_gcontacts) {
- ESourceList *slist;
- ESourceGroup *sgrp;
- GSList *sources;
- gboolean source_already_exists = FALSE;
-
- slist = e_source_list_new_for_gconf (gconf, "/apps/evolution/addressbook/sources" );
-
- sgrp = e_source_list_ensure_group (slist, _("Google"), "google://", TRUE);
-
- sources = e_source_group_peek_sources (sgrp);
- for (; sources; sources = sources->next) {
- ESource *existing = (ESource *) sources->data;
-
- if (!g_strcmp0 (e_source_peek_relative_uri (existing),
- mav->priv->username)) {
- source_already_exists = TRUE;
- break;
- }
- }
-
- if (!source_already_exists) {
- ESource *abook;
- gchar *rel_uri;
-
- /* FIXME: Not sure if we should localize 'Contacts' */
- abook = e_source_new ("Contacts", "");
- e_source_set_property (abook, "default", "true");
- e_source_set_property (abook, "offline_sync", "1");
- e_source_set_property (abook, "auth", "plain/password");
- e_source_set_property (abook, "use-ssl", "true");
- e_source_set_property (abook, "remember_password", "true");
- e_source_set_property (abook, "refresh-interval", "86400");
- e_source_set_property (abook, "completion", "true");
- e_source_set_property (abook, "username", mav->priv->username);
-
- e_source_group_add_source (sgrp, abook, -1);
-
- e_source_set_relative_uri (abook, mav->priv->username);
-
- rel_uri = g_strdup_printf ("google://%s/", mav->priv->username);
- e_passwords_add_password (rel_uri, gtk_entry_get_text ((GtkEntry *) mav->password));
- e_passwords_remember_password (NULL, rel_uri);
- e_source_list_sync (slist, NULL);
-
- g_free (rel_uri);
- g_object_unref (abook);
- }
-
- g_object_unref (slist);
- g_object_unref (sgrp);
- }
-
- g_object_unref (gconf);
-}
-
-#define INDENTATION 10
-
-static GtkWidget *
-create_review (MailAccountView *view)
-{
- GtkWidget *table, *box, *label, *entry;
- gchar *uri;
- gchar *enc;
- CamelURL *url;
- gchar *buff;
-
- uri = (gchar *) e_account_get_string (em_account_editor_get_modified_account (view->edit), E_ACCOUNT_SOURCE_URL);
- if (!uri || (url = camel_url_new (uri, NULL)) == NULL)
- return NULL;
-
- table = gtk_table_new (4,2, FALSE);
- gtk_table_set_row_spacings ((GtkTable *) table, 4);
-
- label = gtk_label_new (NULL);
- buff = g_markup_printf_escaped ("<span size=\"large\" weight=\"bold\">%s</span>", _("Personal details:"));
- gtk_label_set_markup ((GtkLabel *) label, buff);
- g_free (buff);
- gtk_widget_show (label);
- PACK_BOXF (label)
- gtk_table_attach ((GtkTable *) table, box, 0, 1, 0, 1, GTK_EXPAND | GTK_FILL, GTK_SHRINK, INDENTATION, 0);
-
- label = gtk_label_new (_("Name:"));
- gtk_widget_show (label);
- PACK_BOX (label);
- gtk_table_attach ((GtkTable *) table, box, 0, 1, 1, 2, GTK_EXPAND | GTK_FILL, GTK_SHRINK, INDENTATION, 0);
- entry = gtk_label_new (e_account_get_string (em_account_editor_get_modified_account (view->edit), E_ACCOUNT_ID_NAME));
- gtk_widget_show (entry);
- PACK_BOX (entry)
- gtk_table_attach ((GtkTable *) table, box, 1, 2, 1, 2, GTK_EXPAND | GTK_FILL, GTK_SHRINK, INDENTATION, 0);
-
- label = gtk_label_new (_("Email address:"));
- gtk_widget_show (label);
- PACK_BOX (label)
- gtk_table_attach ((GtkTable *) table, box, 0, 1, 2, 3, GTK_EXPAND | GTK_FILL, GTK_SHRINK, INDENTATION, 0);
- entry = gtk_label_new (e_account_get_string (em_account_editor_get_modified_account (view->edit), E_ACCOUNT_ID_ADDRESS));
- gtk_widget_show (entry);
- PACK_BOX (entry)
- gtk_table_attach ((GtkTable *) table, box, 1, 2, 2, 3, GTK_EXPAND | GTK_FILL, GTK_SHRINK, INDENTATION, 0);
-
- label = gtk_label_new (NULL);
- buff = g_markup_printf_escaped ("<span size=\"large\" weight=\"bold\">%s</span>", _("Details:"));
- gtk_label_set_markup ((GtkLabel *) label, buff);
- g_free (buff);
- gtk_widget_show (label);
- PACK_BOXF (label);
- gtk_table_attach ((GtkTable *) table, box, 0, 1, 3, 4, GTK_EXPAND | GTK_FILL, GTK_SHRINK, INDENTATION, 0);
-
- label = gtk_label_new (NULL);
- buff = g_markup_printf_escaped ("<span size=\"large\" weight=\"bold\">%s</span>", _("Receiving"));
- gtk_label_set_markup ((GtkLabel *) label, buff);
- g_free (buff);
- gtk_widget_show (label);
- PACK_BOXF (label);
- gtk_table_attach ((GtkTable *) table, box, 1, 2, 3, 4, GTK_EXPAND | GTK_FILL, GTK_SHRINK, INDENTATION, 0);
-
- label = gtk_label_new (_("Server type:"));
- gtk_widget_show (label);
- PACK_BOX (label);
- gtk_table_attach ((GtkTable *) table, box, 0, 1, 4, 5, GTK_EXPAND | GTK_FILL, GTK_SHRINK, INDENTATION, 0);
- entry = gtk_label_new (url->protocol);
- gtk_widget_show (entry);
- PACK_BOX (entry)
- gtk_table_attach ((GtkTable *) table, box, 1, 2, 4, 5, GTK_EXPAND | GTK_FILL, GTK_SHRINK, INDENTATION, 0);
-
- label = gtk_label_new (_("Server address:"));
- gtk_widget_show (label);
- PACK_BOX (label);
- gtk_table_attach ((GtkTable *) table, box, 0, 1, 5, 6, GTK_EXPAND | GTK_FILL, GTK_SHRINK, INDENTATION, 0);
- entry = gtk_label_new (url->host);
- gtk_widget_show (entry);
- PACK_BOX (entry);
- gtk_table_attach ((GtkTable *) table, box, 1, 2, 5, 6, GTK_EXPAND | GTK_FILL, GTK_SHRINK, INDENTATION, 0);
-
- label = gtk_label_new (_("Username:"));
- gtk_widget_show (label);
- PACK_BOX (label);
- gtk_table_attach ((GtkTable *) table, box, 0, 1, 6, 7, GTK_EXPAND | GTK_FILL, GTK_SHRINK, INDENTATION, 0);
- entry = gtk_label_new (url->user);
- gtk_widget_show (entry);
- PACK_BOX (entry);
- gtk_table_attach ((GtkTable *) table, box, 1, 2, 6, 7, GTK_EXPAND | GTK_FILL, GTK_SHRINK, INDENTATION, 0);
-
- label = gtk_label_new (_("Use encryption:"));
- gtk_widget_show (label);
- PACK_BOX (label);
- gtk_table_attach ((GtkTable *) table, box, 0, 1, 7, 8, GTK_EXPAND | GTK_FILL, GTK_SHRINK, INDENTATION, 0);
- enc = (gchar *)camel_url_get_param(url, "security-method");
- entry = gtk_label_new (enc ? enc : _("never"));
- gtk_widget_show (entry);
- PACK_BOX (entry);
- gtk_table_attach ((GtkTable *) table, box, 1, 2, 7, 8, GTK_EXPAND | GTK_FILL, GTK_SHRINK, INDENTATION, 0);
-
- view->priv->username = g_strdup (url->user);
- camel_url_free (url);
- uri =(gchar *) e_account_get_string (em_account_editor_get_modified_account (view->edit), E_ACCOUNT_TRANSPORT_URL);
- if (!uri || (url = camel_url_new (uri, NULL)) == NULL)
- return NULL;
-
- label = gtk_label_new (NULL);
- buff = g_markup_printf_escaped ("<span size=\"large\" weight=\"bold\">%s</span>", _("Sending"));
- gtk_label_set_markup ((GtkLabel *) label, buff);
- g_free (buff);
- gtk_widget_show (label);
- PACK_BOXF (label);
- gtk_table_attach ((GtkTable *) table, box, 2, 3, 3, 4, GTK_EXPAND | GTK_FILL, GTK_SHRINK, INDENTATION, 0);
-
- entry = gtk_label_new (url->protocol);
- gtk_widget_show (entry);
- PACK_BOX (entry)
- gtk_table_attach ((GtkTable *) table, box, 2, 3, 4, 5, GTK_EXPAND | GTK_FILL, GTK_SHRINK, INDENTATION, 0);
-
- entry = gtk_label_new (url->host);
- gtk_widget_show (entry);
- PACK_BOX (entry);
- gtk_table_attach ((GtkTable *) table, box, 2, 3, 5, 6, GTK_EXPAND | GTK_FILL, GTK_SHRINK, INDENTATION, 0);
-
- entry = gtk_label_new (url->user);
- gtk_widget_show (entry);
- PACK_BOX (entry);
- gtk_table_attach ((GtkTable *) table, box, 2, 3, 6, 7, GTK_EXPAND | GTK_FILL, GTK_SHRINK, INDENTATION, 0);
-
- enc = (gchar *)camel_url_get_param(url, "security-method");
- entry = gtk_label_new (enc ? enc : _("never"));
- gtk_widget_show (entry);
- PACK_BOX (entry);
- gtk_table_attach ((GtkTable *) table, box, 2, 3, 7, 8, GTK_EXPAND | GTK_FILL, GTK_SHRINK, INDENTATION, 0);
-
-/*
- label = gtk_label_new (_("Organization:"));
- gtk_widget_show (label);
- entry = gtk_entry_new ();
- gtk_widget_show (entry);
- gtk_table_attach (table, label, 0, 1, 3, 4, GTK_SHRINK, GTK_SHRINK, INDENTATION, 0);
- gtk_table_attach (table, entry, 1, 2, 3, 4, GTK_EXPAND | GTK_FILL, GTK_SHRINK, INDENTATION, 0);
- */
-
- gtk_widget_show (table);
-
- return table;
-}
-
-#define IDENTITY_DETAIL N_("To use the email application you'll need to setup an account. Put your email address and password in below and we'll try and work out all the settings. If we can't do it automatically you'll need your server details as well.")
-
-#define RECEIVE_DETAIL N_("Sorry, we can't work out the settings to get your mail automatically. Please enter them below. We've tried to make a start with the details you just entered but you may need to change them.")
-
-#define RECEIVE_OPT_DETAIL N_("You can specify more options to configure the account.")
-
-#define SEND_DETAIL N_("Now we need your settings for sending mail. We've tried to make some guesses but you should check them over to make sure.")
-#define DEFAULTS_DETAIL N_("You can specify your default settings for your account.")
-#define REVIEW_DETAIL N_("Time to check things over before we try and connect to the server and fetch your mail.")
-struct _page_text {
- gint id;
- const gchar *head;
- const gchar *next;
- const gchar *prev;
- const gchar *next_edit;
- const gchar *prev_edit;
- const gchar *detail;
- const gchar *path;
- GtkWidget * (*create_page) (MailAccountView *view);
- void (*fill_page) (MailAccountView *view);
- void (*save_page) (MailAccountView *view);
- gint (*validate_page) (MailAccountView *view);
-} mail_account_pages[] = {
- { MAV_IDENTITY_PAGE, N_("Identity"), N_("Next - Receiving mail"), NULL, N_("Next - Receiving mail"), NULL, IDENTITY_DETAIL, "00.identity",NULL, NULL, save_identity, validate_identity},
- { MAV_RECV_PAGE, N_("Receiving mail"), N_("Next - Sending mail"), N_("Back - Identity"), N_("Next - Receiving options"), N_("Back - Identity"), RECEIVE_DETAIL, "10.receive", NULL, NULL, NULL, NULL },
- { MAV_RECV_OPT_PAGE, N_("Receiving options"), NULL, NULL, N_("Next - Sending mail"), N_("Back - Receiving mail"), RECEIVE_OPT_DETAIL, "10.receive", NULL, NULL, NULL, NULL },
-
- { MAV_SEND_PAGE, N_("Sending mail"), N_("Next - Review account"), N_("Back - Receiving mail"), N_("Next - Defaults"), N_("Back - Receiving options"), SEND_DETAIL, "30.send", NULL, NULL, NULL, NULL},
- { MAV_DEFAULTS_PAGE, N_("Defaults"), NULL, NULL, N_("Next - Review account"), N_("Back - Sending mail"), DEFAULTS_DETAIL, "40.defaults", NULL, NULL, NULL, NULL},
-
- { MAV_REVIEW_PAGE, N_("Review account"), N_("Finish"), N_("Back - Sending"), N_("Finish"), N_("Back - Sending"), REVIEW_DETAIL, NULL, create_review, NULL, NULL},
-};
-
-static void
-mav_next_pressed (GtkButton *button,
- MailAccountView *mav)
-{
- if (mail_account_pages[mav->current_page].validate_page) {
- gint ret = (*mail_account_pages[mav->current_page].validate_page) (mav);
- MAVPage *page = mav->pages[mav->current_page];
- if (ret) {
- gtk_label_set_text ((GtkLabel *) page->error_label, _(dialog_errors[ret - 1].detail));
- gtk_widget_show (page->error);
- return;
- }
- gtk_widget_hide (page->error);
- gtk_label_set_text ((GtkLabel *)page->error_label, "");
- }
- if (mail_account_pages[mav->current_page].save_page) {
- (*mail_account_pages[mav->current_page].save_page) (mav);
- }
-
- if (mav->current_page == MAV_LAST - 1) {
- gchar *uri = (gchar *) e_account_get_string (em_account_editor_get_modified_account (mav->edit), E_ACCOUNT_SOURCE_URL);
- CamelURL *url;
-
- e_account_set_string (em_account_editor_get_modified_account (mav->edit), E_ACCOUNT_NAME, e_account_get_string (em_account_editor_get_modified_account (mav->edit), E_ACCOUNT_ID_ADDRESS));
- if (uri != NULL && (url = camel_url_new (uri, NULL)) != NULL) {
- camel_url_set_param(url, "check-all", "true");
- camel_url_set_param(url, "stay-synchronized", "true");
- if (!mav->original) {
- e_account_set_bool (em_account_editor_get_modified_account (mav->edit), E_ACCOUNT_SOURCE_AUTO_CHECK, TRUE);
- }
-
- if (!mav->original && strcmp (url->protocol, "pop") == 0) {
- e_account_set_bool (em_account_editor_get_modified_account (mav->edit), E_ACCOUNT_SOURCE_KEEP_ON_SERVER, TRUE);
- }
-
- uri = camel_url_to_string (url, 0);
- e_account_set_string (em_account_editor_get_modified_account (mav->edit), E_ACCOUNT_SOURCE_URL, uri);
- g_free (uri);
- camel_url_free (url);
- }
-
- if (!mav->original) {
- EAccount *account = em_account_editor_get_modified_account (mav->edit);
- CamelURL *aurl;
- gchar *surl;
- /* Save the password ahead of time */
- aurl = camel_url_new (account->source->url, NULL);
- surl = camel_url_to_string (aurl, CAMEL_URL_HIDE_ALL);
- e_passwords_add_password (surl, gtk_entry_get_text ((GtkEntry *) mav->password));
- e_passwords_remember_password (NULL, surl);
- camel_url_free (aurl);
- g_free (surl);
- }
-
- if (mav->priv->is_gmail && !mav->original)
- setup_google_accounts (mav);
- else if (mav->priv->is_yahoo && !mav->original)
- setup_yahoo_account (mav);
-
- em_account_editor_commit (mav->edit);
- g_signal_emit (mav, signals[VIEW_CLOSE], 0);
- return;
- }
-
- gtk_widget_hide (mav->pages[mav->current_page]->box);
- mav->current_page++;
- if (mav->current_page == MAV_RECV_OPT_PAGE && mav->original == NULL)
- mav->current_page++; /* Skip recv options in new account creation. */
- if (mav->current_page == MAV_DEFAULTS_PAGE && mav->original == NULL)
- mav->current_page++; /* Skip defaults in new account creation. */
-
- if (mav->current_page == MAV_LAST - 1) {
- MAVPage *page = mav->pages[mav->current_page];
- GtkWidget *tmp;
- EAccount *account = em_account_editor_get_modified_account (mav->edit);
-
- if (page->main)
- gtk_widget_destroy (page->main);
-
- tmp = mail_account_pages[mav->current_page].create_page (mav);
- page->main = gtk_hbox_new (FALSE, 0);
- gtk_widget_show (page->main);
- if (tmp) {
- gtk_box_pack_start ((GtkBox *) page->main, tmp, FALSE, FALSE, 0);
- gtk_widget_show (tmp);
- }
- gtk_box_pack_start ((GtkBox *) page->box, page->main, FALSE, FALSE, 3);
-
- if (mav->priv->is_gmail) {
- gtk_widget_destroy (mav->priv->gcontacts);
- gtk_widget_destroy (mav->priv->calendar);
- gtk_widget_destroy (mav->priv->gmail_info_label);
- if (mav->priv->account_label) {
- gtk_widget_destroy (mav->priv->account_label);
- mav->priv->account_label = NULL;
- }
- if (mav->priv->gmail_link) {
- gtk_widget_destroy (mav->priv->gmail_link);
- mav->priv->gmail_link = NULL;
- }
- } else if (mav->priv->is_yahoo) {
- gtk_widget_destroy (mav->priv->calendar);
- gtk_widget_destroy (mav->priv->gmail_info_label);
- gtk_widget_destroy (mav->priv->yahoo_cal_entry);
- if (mav->priv->account_label) {
- gtk_widget_destroy (mav->priv->account_label);
- mav->priv->account_label = NULL;
- }
- if (mav->priv->yahoo_cal_box) {
- gtk_widget_destroy (mav->priv->yahoo_cal_box);
- mav->priv->yahoo_cal_box = NULL;
- }
- }
-
- if (mav->original == NULL && (g_strrstr(account->source->url, "gmail") ||
- g_strrstr(account->source->url, "googlemail"))) {
- /* Google accounts*/
- gchar *buff;
- mav->priv->is_gmail = TRUE;
-
- mav->priv->gcontacts = gtk_check_button_new_with_label (_("Setup Google contacts with Evolution"));
- mav->priv->calendar = gtk_check_button_new_with_label (_("Setup Google calendar with Evolution"));
-
- gtk_toggle_button_set_active ((GtkToggleButton *) mav->priv->gcontacts, TRUE);
- gtk_toggle_button_set_active ((GtkToggleButton *) mav->priv->calendar, TRUE);
-
- mav->priv->gmail_info_label = gtk_label_new (_("You may need to enable IMAP access."));
- gtk_label_set_selectable ((GtkLabel *) mav->priv->gmail_info_label, TRUE);
-
- gtk_widget_show (mav->priv->gcontacts);
- gtk_widget_show (mav->priv->calendar);
- gtk_widget_show (mav->priv->gmail_info_label);
-
- mav->priv->account_label = gtk_label_new (NULL);
- buff = g_markup_printf_escaped ("<span size=\"large\" weight=\"bold\">%s</span>", _("Google account settings:"));
- gtk_label_set_markup ((GtkLabel *) mav->priv->account_label, buff);
- g_free (buff);
- gtk_widget_show (mav->priv->account_label);
-
-#define PACK_IN_BOX(wid,child,num) { GtkWidget *tbox; tbox = gtk_hbox_new (FALSE, 0); gtk_box_pack_start ((GtkBox *)tbox, child, FALSE, FALSE, num); gtk_widget_show (tbox); gtk_box_pack_start ((GtkBox *)wid, tbox, FALSE, FALSE, 0); }
-
- PACK_IN_BOX (page->box,mav->priv->account_label,12);
- PACK_IN_BOX (page->box,mav->priv->gcontacts,24);
- PACK_IN_BOX (page->box,mav->priv->calendar,24);
-#undef PACK_IN_BOX
-#define PACK_IN_BOX(wid,child1,child2,num1,num2) { GtkWidget *tbox; tbox = gtk_hbox_new (FALSE, 0); gtk_box_pack_start ((GtkBox *)tbox, child1, FALSE, FALSE, num1); gtk_box_pack_start ((GtkBox *)tbox, child2, FALSE, FALSE, num2); gtk_widget_show_all (tbox); gtk_box_pack_start ((GtkBox *)wid, tbox, FALSE, FALSE, 0); }
-
- mav->priv->gmail_link = gtk_link_button_new ("https://mail.google.com/mail/?ui=2&amp;shva=1#settings/fwdandpop");
- PACK_IN_BOX (page->box,mav->priv->gmail_info_label,mav->priv->gmail_link, 24, 0);
-#undef PACK_IN_BOX
- } else if (mav->original == NULL &&
- (g_strrstr(account->source->url, "yahoo.") ||
- g_strrstr(account->source->url, "ymail.") ||
- g_strrstr(account->source->url, "rocketmail."))) {
- /* Yahoo accounts*/
- gchar *cal_name;
- gchar *buff;
-
- mav->priv->is_yahoo = TRUE;
- printf("Google account: %s\n", account->source->url);
- mav->priv->calendar = gtk_check_button_new_with_label (_("Setup Yahoo calendar with Evolution"));
-
- gtk_toggle_button_set_active ((GtkToggleButton *) mav->priv->calendar, TRUE);
-
- mav->priv->gmail_info_label = gtk_label_new (_("Yahoo calendars are named as firstname_lastname. We have tried to form the calendar name. So please confirm and re-enter the calendar name if it is not correct."));
- gtk_label_set_line_wrap ((GtkLabel *) mav->priv->gmail_info_label, TRUE);
- gtk_label_set_line_wrap_mode ((GtkLabel *) mav->priv->gmail_info_label, PANGO_WRAP_WORD);
- gtk_label_set_selectable ((GtkLabel *) mav->priv->gmail_info_label, TRUE);
-
- gtk_widget_show (mav->priv->calendar);
- gtk_widget_show (mav->priv->gmail_info_label);
-
- mav->priv->account_label = gtk_label_new (NULL);
- buff = g_markup_printf_escaped ("<span size=\"large\" weight=\"bold\">%s</span>", _("Yahoo account settings:"));
- gtk_label_set_markup ((GtkLabel *) mav->priv->account_label, buff);
- g_free (buff);
- gtk_widget_show (mav->priv->account_label);
-
-#define PACK_IN_BOX(wid,child,num) { GtkWidget *tbox; tbox = gtk_hbox_new (FALSE, 0); gtk_box_pack_start ((GtkBox *)tbox, child, FALSE, FALSE, num); gtk_widget_show (tbox); gtk_box_pack_start ((GtkBox *)wid, tbox, FALSE, FALSE, 0); }
-#define PACK_IN_BOX_AND_TEXT(txt,box,child,num) { GtkWidget *txtlbl = gtk_label_new (txt); box = gtk_hbox_new (FALSE, 12); gtk_box_pack_start ((GtkBox *)box, txtlbl, FALSE, FALSE, num); gtk_box_pack_start ((GtkBox *)box, child, FALSE, FALSE, num); gtk_widget_show_all (box);}
-
- PACK_IN_BOX (page->box,mav->priv->account_label,12);
- PACK_IN_BOX (page->box,mav->priv->calendar,24);
-
- mav->priv->yahoo_cal_entry = gtk_entry_new ();
- gtk_widget_show (mav->priv->yahoo_cal_entry);
- PACK_IN_BOX (page->box,mav->priv->gmail_info_label, 24);
- PACK_IN_BOX_AND_TEXT(_("Yahoo Calendar name:"), mav->priv->yahoo_cal_box, mav->priv->yahoo_cal_entry, 0);
- PACK_IN_BOX (page->box, mav->priv->yahoo_cal_box, 24);
- cal_name = g_strdup (e_account_get_string (em_account_editor_get_modified_account (mav->edit), E_ACCOUNT_ID_NAME));
- cal_name = g_strdelimit(cal_name, " ", '_');
- gtk_entry_set_text ((GtkEntry *) mav->priv->yahoo_cal_entry, cal_name);
- g_free (cal_name);
-#undef PACK_IN_BOX
- } else {
- mav->priv->is_gmail = FALSE;
- mav->priv->is_yahoo = FALSE;
- }
-
- }
-
- gtk_widget_show (mav->pages[mav->current_page]->box);
- if (!mav->pages[mav->current_page]->done) {
- mav->pages[mav->current_page]->done = TRUE;
- if (mail_account_pages[mav->current_page].path) {
-
- if (!mav->original && em_account_editor_check (mav->edit, mail_account_pages[mav->current_page].path))
- mav_next_pressed (NULL, mav);
- }
- }
-}
-
-static void
-mav_prev_pressed (GtkButton *button,
- MailAccountView *mav)
-{
- if (mav->current_page == 0)
- return;
-
- gtk_widget_hide (mav->pages[mav->current_page]->box);
- mav->current_page--;
- if (mav->current_page == MAV_RECV_OPT_PAGE && mav->original == NULL)
- mav->current_page--; /* Skip recv options in new account creation. */
- if (mav->current_page == MAV_DEFAULTS_PAGE && mav->original == NULL)
- mav->current_page--; /* Skip defaults in new account creation. */
- gtk_widget_show (mav->pages[mav->current_page]->box);
-
-}
-
-static GtkWidget *
-mav_construct_page (MailAccountView *view,
- MAVPageType type)
-{
- MAVPage *page = g_new0 (MAVPage, 1);
- GtkWidget *box, *tmp, *error_box;
- gchar *str;
-
- page->type = type;
-
- page->box = gtk_vbox_new (FALSE, 2);
-
- error_box = gtk_hbox_new (FALSE, 2);
- page->error_label = gtk_label_new ("");
- tmp = gtk_image_new_from_stock (GTK_STOCK_DIALOG_WARNING, GTK_ICON_SIZE_MENU);
- gtk_box_pack_start ((GtkBox *) error_box, tmp, FALSE, FALSE, 2);
- gtk_box_pack_start ((GtkBox *) error_box, page->error_label, FALSE, FALSE, 2);
- gtk_widget_hide (tmp);
- gtk_widget_show (page->error_label);
- page->error = tmp;
- gtk_widget_show (error_box);
-
- box = gtk_hbox_new (FALSE, 12);
- gtk_widget_show (box);
- gtk_box_pack_start ((GtkBox *) page->box, box, FALSE, FALSE, 12);
- tmp = gtk_label_new (NULL);
- str = g_strdup_printf("<span size=\"xx-large\" weight=\"heavy\">%s</span>", _(mail_account_pages[type].head));
- gtk_label_set_markup ((GtkLabel *) tmp, str);
- g_free (str);
- gtk_widget_show (tmp);
- gtk_box_pack_start ((GtkBox *) box, tmp, FALSE, FALSE, 12);
-
- box = gtk_hbox_new (FALSE, 12);
- gtk_widget_show (box);
- gtk_box_pack_start ((GtkBox *) page->box, box, FALSE, FALSE, 12);
- tmp = gtk_label_new (_(mail_account_pages[type].detail));
- gtk_widget_set_size_request (tmp, 600, -1);
- gtk_label_set_line_wrap ((GtkLabel *) tmp, TRUE);
- gtk_label_set_line_wrap_mode ((GtkLabel *) tmp, PANGO_WRAP_WORD);
- gtk_widget_show (tmp);
- gtk_box_pack_start ((GtkBox *) box, tmp, FALSE, FALSE, 12);
-
- page->main = NULL;
- if (mail_account_pages[type].create_page && mail_account_pages[type].path) {
- tmp = (*mail_account_pages[type].create_page) (view);
- gtk_box_pack_start ((GtkBox *) page->box, tmp, FALSE, FALSE, 3);
- page->main = gtk_hbox_new (FALSE, 0);
- gtk_widget_show (page->main);
- gtk_box_pack_start ((GtkBox *) page->main, tmp, FALSE, FALSE, 0);
- }
-
- if (mail_account_pages[type].fill_page) {
- (*mail_account_pages[type].fill_page) (view);
- }
-
- if ((view->original && mail_account_pages[type].prev_edit) || mail_account_pages[type].prev) {
- box = gtk_hbox_new (FALSE, 0);
- if (FALSE) {
- tmp = gtk_image_new_from_icon_name ("go-previous", GTK_ICON_SIZE_BUTTON);
- gtk_box_pack_start ((GtkBox *) box, tmp, FALSE, FALSE, 0);
- }
- tmp = gtk_label_new (_(view->original ? mail_account_pages[type].prev_edit : mail_account_pages[type].prev));
- gtk_box_pack_start ((GtkBox *) box, tmp, FALSE, FALSE, 3);
- page->prev = gtk_button_new ();
- gtk_container_add ((GtkContainer *) page->prev, box);
- gtk_widget_show_all (page->prev);
- g_signal_connect (page->prev, "clicked", G_CALLBACK(mav_prev_pressed), view);
- }
-
- if ((view->original && mail_account_pages[type].next_edit) || mail_account_pages[type].next) {
- box = gtk_hbox_new (FALSE, 0);
- tmp = gtk_label_new (_(view->original ? mail_account_pages[type].next_edit : mail_account_pages[type].next));
- gtk_box_pack_start ((GtkBox *) box, tmp, FALSE, FALSE, 3);
- if (FALSE) {
- tmp = gtk_image_new_from_icon_name ("go-next", GTK_ICON_SIZE_BUTTON);
- gtk_box_pack_start ((GtkBox *) box, tmp, FALSE, FALSE, 0);
- }
- page->next = gtk_button_new ();
- gtk_widget_set_can_default (page->next, TRUE);
- gtk_container_add ((GtkContainer *) page->next, box);
- gtk_widget_show_all (page->next);
- g_signal_connect (page->next, "clicked", G_CALLBACK(mav_next_pressed), view);
- }
-
- box = gtk_hbox_new (FALSE, 0);
- if (page->prev)
- gtk_box_pack_start ((GtkBox *) box, page->prev, FALSE, FALSE, 12);
- if (page->next)
- gtk_box_pack_end ((GtkBox *) box, page->next, FALSE, FALSE, 12);
- gtk_widget_show (box);
- gtk_box_pack_end ((GtkBox *) page->box, box, FALSE, FALSE, 6);
- gtk_widget_show (page->box);
- gtk_box_pack_end ((GtkBox *) page->box, error_box, FALSE, FALSE, 2);
- return (GtkWidget *) page;
-}
-
-static void
-next_page (GtkWidget *entry,
- MailAccountView *mav)
-{
- mav_next_pressed (NULL, mav);
-}
-
-static void
-mail_account_view_construct (MailAccountView *view,
- EMailBackend *backend)
-{
- gint i;
- EShell *shell;
-
- view->scroll = gtk_scrolled_window_new (NULL, NULL);
- gtk_scrolled_window_set_policy ((GtkScrolledWindow *) view->scroll, GTK_POLICY_AUTOMATIC, GTK_POLICY_AUTOMATIC);
- gtk_scrolled_window_set_shadow_type ((GtkScrolledWindow *) view->scroll, GTK_SHADOW_NONE);
- view->page_widget = gtk_vbox_new (FALSE, 3);
- gtk_scrolled_window_add_with_viewport ((GtkScrolledWindow *) view->scroll, view->page_widget);
- gtk_widget_show_all (view->scroll);
- gtk_widget_set_size_request ((GtkWidget *) view, -1, 300);
- for (i = 0; i < MAV_LAST; i++) {
- view->pages[i] = (MAVPage *) mav_construct_page (view, i);
- view->pages[i]->done = FALSE;
- view->wpages[i] = view->pages[i]->box;
- gtk_box_pack_start ((GtkBox *) view->page_widget, view->pages[i]->box, TRUE, TRUE, 0);
- gtk_widget_hide (view->pages[i]->box);
- }
- gtk_widget_show (view->pages[0]->box);
- view->current_page = 0;
- gtk_box_pack_start ((GtkBox *) view, view->scroll, TRUE, TRUE, 0);
- view->edit = em_account_editor_new_for_pages (
- view->original, EMAE_PAGES, backend,
- "org.gnome.evolution.mail.config.accountWizard", view->wpages);
- gtk_widget_hide (e_config_create_widget (E_CONFIG (view->edit->config)));
- if (!view->original) {
- e_account_set_bool (em_account_editor_get_modified_account (view->edit), E_ACCOUNT_SOURCE_SAVE_PASSWD, TRUE);
- e_account_set_bool (em_account_editor_get_modified_account (view->edit), E_ACCOUNT_TRANSPORT_SAVE_PASSWD, TRUE);
- }
- em_account_editor_check (view->edit, mail_account_pages[0].path);
- view->pages[0]->done = TRUE;
-
- shell = e_shell_get_default ();
- if (!shell || e_shell_get_express_mode (shell)) {
- GtkWidget *table = em_account_editor_get_widget (view->edit, "identity-required-table");
- GtkWidget *label, *pwd;
- gtk_widget_hide (em_account_editor_get_widget (view->edit, "identity-optional-section"));
-
- if (!view->original) {
- label = gtk_label_new (_("Password:"));
- pwd = gtk_entry_new ();
- gtk_entry_set_visibility ((GtkEntry *) pwd, FALSE);
-/* gtk_entry_set_activates_default ((GtkEntry *)pwd, TRUE); */
- g_signal_connect (pwd, "activate", G_CALLBACK (next_page), view);
- gtk_widget_show (label);
- gtk_widget_show (pwd);
- gtk_table_attach ((GtkTable *) table, label, 0, 1, 2, 3, GTK_FILL, 0, 0, 0);
- gtk_table_attach ((GtkTable *) table, pwd, 1, 2, 2, 3, GTK_FILL | GTK_EXPAND, 0, 0, 0);
-
- view->password = pwd;
- }
- }
-
- /* assume the full name is known from the system */
- gtk_widget_grab_focus (em_account_editor_get_widget (view->edit, "identity_address"));
-}
-
-MailAccountView *
-mail_account_view_new (EAccount *account,
- EMailBackend *backend)
-{
- MailAccountView *view = g_object_new (MAIL_ACCOUNT_VIEW_TYPE, NULL);
- view->type = MAIL_VIEW_ACCOUNT;
- view->uri = "account://";
- view->original = account;
- mail_account_view_construct (view, backend);
-
- return view;
-}
-
-static void
-mav_close (GtkButton *w,
- MailAccountView *mfv)
-{
- g_signal_emit (mfv, signals[VIEW_CLOSE], 0);
-}
-
-GtkWidget *
-mail_account_view_get_tab_widget (MailAccountView *mcv)
-{
- GdkPixbuf *pbuf = gtk_widget_render_icon ((GtkWidget *)mcv, "gtk-close", GTK_ICON_SIZE_MENU, NULL);
-
- GtkWidget *tool, *box, *img;
- gint w=-1, h=-1;
- GtkWidget *tab_label;
-
- img = (GtkWidget *) gtk_image_new_from_pixbuf (pbuf);
-
- tool = gtk_button_new ();
- gtk_button_set_relief ((GtkButton *) tool, GTK_RELIEF_NONE);
- gtk_button_set_focus_on_click ((GtkButton *) tool, FALSE);
- gtk_widget_set_tooltip_text (tool, _("Close Tab"));
- g_signal_connect (tool, "clicked", G_CALLBACK(mav_close), mcv);
-
- box = gtk_hbox_new (FALSE, 0);
- gtk_box_pack_start ((GtkBox *) box, img, FALSE, FALSE, 0);
- gtk_container_add ((GtkContainer *) tool, box);
- gtk_widget_show_all (tool);
- gtk_icon_size_lookup_for_settings (gtk_widget_get_settings (tool) , GTK_ICON_SIZE_MENU, &w, &h);
- gtk_widget_set_size_request (tool, w + 2, h + 2);
-
- box = gtk_label_new (_("Account Wizard"));
- tab_label = gtk_hbox_new (FALSE, 0);
- gtk_box_pack_start ((GtkBox *) tab_label, box, FALSE, FALSE, 2);
- gtk_box_pack_start ((GtkBox *) tab_label, tool, FALSE, FALSE, 0);
- gtk_widget_show_all (tab_label);
-
- return tab_label;
-
-}
-
-void
-mail_account_view_activate (MailAccountView *mcv,
- GtkWidget *tree,
- GtkWidget *folder_tree,
- GtkWidget *check_mail,
- GtkWidget *sort_by,
- gboolean act)
-{
- if (!check_mail || !sort_by)
- return;
- gtk_widget_set_sensitive (check_mail, TRUE);
- gtk_widget_set_sensitive (sort_by, FALSE);
-}
diff --git a/capplet/settings/mail-capplet-shell.c b/capplet/settings/mail-capplet-shell.c
index c80c36e038..6369baff85 100644
--- a/capplet/settings/mail-capplet-shell.c
+++ b/capplet/settings/mail-capplet-shell.c
@@ -114,15 +114,15 @@ ms_ctrl_q_pressed (MailCappletShell *shell)
}
static void
-mail_capplet_shell_class_init (MailCappletShellClass *klass)
+mail_capplet_shell_class_init (MailCappletShellClass *class)
{
- GObjectClass * object_class = G_OBJECT_CLASS (klass);
+ GObjectClass * object_class = G_OBJECT_CLASS (class);
GtkBindingSet *binding_set;
- mail_capplet_shell_parent_class = g_type_class_peek_parent (klass);
+ mail_capplet_shell_parent_class = g_type_class_peek_parent (class);
object_class->finalize = mail_capplet_shell_finalize;
- klass->ctrl_w_pressed = ms_ctrl_w_pressed;
- klass->ctrl_q_pressed = ms_ctrl_q_pressed;
+ class->ctrl_w_pressed = ms_ctrl_w_pressed;
+ class->ctrl_q_pressed = ms_ctrl_q_pressed;
mail_capplet_shell_signals[CTRL_W_PRESSED] =
g_signal_new ("ctrl_w_pressed",
@@ -142,7 +142,7 @@ mail_capplet_shell_class_init (MailCappletShellClass *klass)
g_cclosure_marshal_VOID__VOID,
G_TYPE_NONE, 0);
- binding_set = gtk_binding_set_by_class (klass);
+ binding_set = gtk_binding_set_by_class (class);
gtk_binding_entry_add_signal (binding_set, GDK_KEY_W, GDK_CONTROL_MASK, "ctrl_w_pressed", 0);
gtk_binding_entry_add_signal (binding_set, GDK_KEY_w, GDK_CONTROL_MASK, "ctrl_w_pressed", 0);
gtk_binding_entry_add_signal (binding_set, GDK_KEY_Q, GDK_CONTROL_MASK, "ctrl_q_pressed", 0);
@@ -175,7 +175,7 @@ mail_capplet_shell_quit (MailCappletShell *shell)
MailCappletShellPrivate *priv = shell->priv;
if (!priv->main_loop)
- gtk_widget_hide ((GtkWidget *)shell);
+ gtk_widget_hide ((GtkWidget *) shell);
}
static void
@@ -184,7 +184,7 @@ ms_delete_event (MailCappletShell *shell,
gpointer data G_GNUC_UNUSED)
{
mail_capplet_shell_quit (shell);
- gtk_main_quit();
+ gtk_main_quit ();
}
static void
@@ -211,7 +211,9 @@ mail_capplet_shell_construct (MailCappletShell *shell,
gtk_window_set_icon_name ((GtkWindow *)shell, "evolution");
gtk_window_set_title ((GtkWindow *)shell, _("Evolution account assistant"));
ms_init_style (style);
- g_signal_connect ((GObject *)shell, "delete-event", G_CALLBACK (ms_delete_event), NULL);
+ g_signal_connect (
+ shell, "delete-event",
+ G_CALLBACK (ms_delete_event), NULL);
gtk_window_set_type_hint ((GtkWindow *) shell, GDK_WINDOW_TYPE_HINT_NORMAL);
if (g_getenv("ANJAL_NO_MAX") == NULL && FALSE) {
GdkScreen *scr = gtk_widget_get_screen ((GtkWidget *) shell);
@@ -231,7 +233,9 @@ mail_capplet_shell_construct (MailCappletShell *shell,
GtkWidget *plug = gtk_plug_new (socket_id);
gtk_container_add ((GtkContainer *) plug, priv->box);
- g_signal_connect (plug, "destroy", G_CALLBACK (gtk_main_quit), NULL);
+ g_signal_connect (
+ plug, "destroy",
+ G_CALLBACK (gtk_main_quit), NULL);
gtk_widget_show (plug);
gtk_widget_hide ((GtkWidget *) shell);
@@ -281,7 +285,9 @@ mail_capplet_shell_construct (MailCappletShell *shell,
gtk_notebook_set_show_tabs ((GtkNotebook *) shell->view, FALSE);
mc = mail_view_add_page ((MailView *) shell->view, MAIL_VIEW_ACCOUNT, NULL);
- g_signal_connect (mc, "view-close", G_CALLBACK(ms_show_post_druid), shell);
+ g_signal_connect (
+ mc, "view-close",
+ G_CALLBACK (ms_show_post_druid), shell);
setup_abooks ();
} else
shell->priv->settings_view = mail_view_add_page ((MailView *) shell->view, MAIL_VIEW_SETTINGS, NULL);
diff --git a/capplet/settings/mail-capplet-shell.c.orig b/capplet/settings/mail-capplet-shell.c.orig
deleted file mode 100644
index 3d3e015e94..0000000000
--- a/capplet/settings/mail-capplet-shell.c.orig
+++ /dev/null
@@ -1,395 +0,0 @@
-/* -*- Mode: C; tab-width: 8; indent-tabs-mode: t; c-basic-offset: 8 -*- */
-
-/*
- * This program is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Lesser General Public
- * License as published by the Free Software Foundation; either
- * version 2 of the License, or (at your option) version 3.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * Lesser General Public License for more details.
- *
- * You should have received a copy of the GNU Lesser General Public
- * License along with the program; if not, see <http://www.gnu.org/licenses/>
- *
- *
- * Authors:
- * Srinivasa Ragavan <sragavan@gnome.org>
- * Srinivasa Ragavan <srini@linux.intel.com>
- *
- * Copyright (C) 2010 Intel Corporation. (www.intel.com)
- *
- */
-
-#ifdef HAVE_CONFIG_H
-#include <config.h>
-#endif
-
-#include <gtk/gtkx.h>
-#include <glib/gi18n.h>
-#include <glib/gstdio.h>
-#include "mail-capplet-shell.h"
-#include "mail-view.h"
-#include <gdk/gdkkeysyms.h>
-
-#include <e-util/e-util.h>
-
-#include <mail/em-utils.h>
-#include <mail/em-composer-utils.h>
-#include <libemail-engine/mail-config.h>
-#include <libemail-utils/mail-mt.h>
-
-#include <shell/e-shell.h>
-
-enum {
- CTRL_W_PRESSED,
- CTRL_Q_PRESSED,
- LAST_SIGNAL
-};
-
-/* Re usable colors */
-
-GdkColor *pcolor_sel;
-gchar *scolor_sel;
-GdkColor *pcolor_fg_sel;
-gchar *scolor_fg_sel;
-GdkColor *pcolor_bg_norm;
-gchar *scolor_bg_norm;
-GdkColor *pcolor_norm;
-gchar *scolor_norm;
-GdkColor *pcolor_fg_norm;
-gchar *scolor_fg_norm;
-
-static guint mail_capplet_shell_signals[LAST_SIGNAL];
-
-struct _MailCappletShellPrivate {
-
- EMailBackend *backend;
- GtkWidget *box;
-
- GtkWidget * top_bar;
- GtkWidget *message_pane;
- GtkWidget *bottom_bar;
-
- /* Top Bar */
- GtkWidget *action_bar;
- GtkWidget *quit;
-
- gboolean main_loop;
-
- MailViewChild *settings_view;
-};
-
-static void mail_capplet_shell_quit (MailCappletShell *shell);
-
-G_DEFINE_TYPE (MailCappletShell, mail_capplet_shell, GTK_TYPE_WINDOW)
-
-static void setup_abooks (void);
-
-static void
-mail_capplet_shell_init (MailCappletShell *shell)
-{
- shell->priv = g_new0 (MailCappletShellPrivate, 1);
- shell->priv->settings_view = NULL;
-}
-
-static void
-mail_capplet_shell_finalize (GObject *object)
-{
- G_OBJECT_CLASS (mail_capplet_shell_parent_class)->finalize (object);
-}
-
-static void
-ms_ctrl_w_pressed (MailCappletShell *shell)
-{
- mail_view_close_view ((MailView *) shell->view);
-}
-
-static void
-ms_ctrl_q_pressed (MailCappletShell *shell)
-{
- mail_capplet_shell_quit (shell);
-}
-
-static void
-mail_capplet_shell_class_init (MailCappletShellClass *klass)
-{
- GObjectClass * object_class = G_OBJECT_CLASS (klass);
- GtkBindingSet *binding_set;
-
- mail_capplet_shell_parent_class = g_type_class_peek_parent (klass);
- object_class->finalize = mail_capplet_shell_finalize;
- klass->ctrl_w_pressed = ms_ctrl_w_pressed;
- klass->ctrl_q_pressed = ms_ctrl_q_pressed;
-
- mail_capplet_shell_signals[CTRL_W_PRESSED] =
- g_signal_new ("ctrl_w_pressed",
- G_TYPE_FROM_CLASS (object_class),
- G_SIGNAL_RUN_LAST | G_SIGNAL_ACTION,
- G_STRUCT_OFFSET (MailCappletShellClass, ctrl_w_pressed),
- NULL, NULL,
- g_cclosure_marshal_VOID__VOID,
- G_TYPE_NONE, 0);
-
- mail_capplet_shell_signals[CTRL_Q_PRESSED] =
- g_signal_new ("ctrl_q_pressed",
- G_TYPE_FROM_CLASS (object_class),
- G_SIGNAL_RUN_LAST | G_SIGNAL_ACTION,
- G_STRUCT_OFFSET (MailCappletShellClass, ctrl_q_pressed),
- NULL, NULL,
- g_cclosure_marshal_VOID__VOID,
- G_TYPE_NONE, 0);
-
- binding_set = gtk_binding_set_by_class (klass);
- gtk_binding_entry_add_signal (binding_set, GDK_KEY_W, GDK_CONTROL_MASK, "ctrl_w_pressed", 0);
- gtk_binding_entry_add_signal (binding_set, GDK_KEY_w, GDK_CONTROL_MASK, "ctrl_w_pressed", 0);
- gtk_binding_entry_add_signal (binding_set, GDK_KEY_Q, GDK_CONTROL_MASK, "ctrl_q_pressed", 0);
- gtk_binding_entry_add_signal (binding_set, GDK_KEY_Q, GDK_CONTROL_MASK, "ctrl_q_pressed", 0);
-
-};
-
-static void
-ms_init_style (GtkStyle *style)
-{
- pcolor_sel = &style->base[GTK_STATE_SELECTED];
- scolor_sel = gdk_color_to_string (pcolor_sel);
-
- pcolor_norm = &style->bg[GTK_STATE_NORMAL];
- scolor_norm = gdk_color_to_string (pcolor_norm);
-
- pcolor_bg_norm = &style->base[GTK_STATE_NORMAL];
- scolor_bg_norm = gdk_color_to_string (pcolor_bg_norm);
-
- pcolor_fg_sel =&style->fg[GTK_STATE_SELECTED];
- scolor_fg_sel = gdk_color_to_string (pcolor_fg_sel);
-
- pcolor_fg_norm =&style->fg[GTK_STATE_NORMAL];
- scolor_fg_norm = gdk_color_to_string (pcolor_fg_norm);
-}
-
-static void
-mail_capplet_shell_quit (MailCappletShell *shell)
-{
- MailCappletShellPrivate *priv = shell->priv;
-
- if (priv->main_loop)
- gtk_main_quit ();
- else
- gtk_widget_destroy ((GtkWidget *) shell);
-}
-
-static void
-ms_delete_event (MailCappletShell *shell,
- GdkEvent *event G_GNUC_UNUSED,
- gpointer data G_GNUC_UNUSED)
-{
- mail_capplet_shell_quit (shell);
-}
-
-static void
-ms_show_post_druid (MailViewChild *mfv G_GNUC_UNUSED,
- MailCappletShell *shell)
-{
- gtk_widget_destroy (GTK_WIDGET (shell));
-}
-
-#define PACK_IN_TOOL(wid,icon) { GtkWidget *tbox; tbox = gtk_hbox_new (FALSE, 0); gtk_box_pack_start ((GtkBox *)tbox, gtk_image_new_from_icon_name(icon, GTK_ICON_SIZE_BUTTON), FALSE, FALSE, 0); wid = (GtkWidget *)gtk_tool_button_new (tbox, NULL); }
-
-static void
-mail_capplet_shell_construct (MailCappletShell *shell,
- gint socket_id,
- gboolean just_druid,
- gboolean main_loop)
-{
- MailCappletShellPrivate *priv = shell->priv;
- GtkStyle *style = gtk_widget_get_default_style ();
- EShell *eshell;
- EMailSession *session;
-
- gtk_window_set_icon_name ((GtkWindow *)shell, "evolution");
- gtk_window_set_title ((GtkWindow *)shell, _("Evolution account assistant"));
- ms_init_style (style);
- g_signal_connect ((GObject *)shell, "delete-event", G_CALLBACK (ms_delete_event), NULL);
- gtk_window_set_type_hint ((GtkWindow *) shell, GDK_WINDOW_TYPE_HINT_NORMAL);
- if (g_getenv("ANJAL_NO_MAX") == NULL && FALSE) {
- GdkScreen *scr = gtk_widget_get_screen ((GtkWidget *) shell);
- gtk_window_set_default_size ((GtkWindow *) shell, gdk_screen_get_width (scr), gdk_screen_get_height (scr));
- gtk_window_set_decorated ((GtkWindow *) shell, FALSE);
- } else {
- gtk_window_set_default_size ((GtkWindow *) shell, 1024, 500);
- }
-
- priv->main_loop = main_loop;
- priv->box = (GtkWidget *) gtk_vbox_new (FALSE, 0);
- gtk_widget_show ((GtkWidget *) priv->box);
-
- if (!socket_id) {
- gtk_container_add ((GtkContainer *) shell, priv->box);
- } else {
- GtkWidget *plug = gtk_plug_new (socket_id);
-
- gtk_container_add ((GtkContainer *) plug, priv->box);
- g_signal_connect (plug, "destroy", G_CALLBACK (gtk_main_quit), NULL);
- gtk_widget_show (plug);
- gtk_widget_hide ((GtkWidget *) shell);
-
- }
-
- if (camel_init (e_get_user_data_dir (), TRUE) != 0)
- exit (0);
-
- camel_provider_init ();
-
- 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 ();
- shell->view->backend = shell->priv->backend;
- gtk_widget_show ((GtkWidget *) shell->view);
- gtk_box_pack_end ((GtkBox *) priv->box, (GtkWidget *) shell->view, TRUE, TRUE, 2);
-
- mail_config_init (session);
- mail_msg_init ();
-
- if (just_druid) {
- MailViewChild *mc;
-
- gtk_notebook_set_show_tabs ((GtkNotebook *) shell->view, FALSE);
- mc = mail_view_add_page ((MailView *) shell->view, MAIL_VIEW_ACCOUNT, NULL);
- g_signal_connect (mc, "view-close", G_CALLBACK(ms_show_post_druid), shell);
- setup_abooks ();
- } else
- shell->priv->settings_view = mail_view_add_page ((MailView *) shell->view, MAIL_VIEW_SETTINGS, NULL);
-
-}
-
-GtkWidget *
-mail_capplet_shell_new (gint socket_id,
- gboolean just_druid,
- gboolean main_loop)
-{
- MailCappletShell *shell = g_object_new (MAIL_CAPPLET_SHELL_TYPE, NULL);
- mail_capplet_shell_construct (shell, socket_id, just_druid, main_loop);
-
- return GTK_WIDGET (shell);
-}
-
-#define LOCAL_BASE_URI "local:"
-#define PERSONAL_RELATIVE_URI "system"
-
-static void
-setup_abooks (void)
-{
- GSList *groups;
- ESourceGroup *group;
- ESourceList *list = NULL;
- ESourceGroup *on_this_computer = NULL;
- ESource *personal_source = NULL;
- GError *error = NULL;
-
- e_book_client_get_sources (&list, &error);
-
- if (error != NULL) {
- g_warning (
- "%s: Unable to get books: %s",
- G_STRFUNC, error->message);
- g_error_free (error);
- return;
- }
-
- groups = e_source_list_peek_groups (list);
- if (groups) {
- /* groups are already there, we need to search for things... */
- GSList *g;
- gchar *base_dir, *base_uri;
-
- base_dir = g_build_filename (
- e_get_user_data_dir (), "addressbook", "local", NULL);
- base_uri = g_filename_to_uri (base_dir, NULL, NULL);
-
- for (g = groups; g; g = g->next) {
- group = E_SOURCE_GROUP (g->data);
-
- if (strcmp (base_uri, e_source_group_peek_base_uri (group)) == 0)
- e_source_group_set_base_uri (group, LOCAL_BASE_URI);
-
- if (!on_this_computer && !strcmp (LOCAL_BASE_URI, e_source_group_peek_base_uri (group))) {
- on_this_computer = g_object_ref (group);
- break;
- }
- }
-
- g_free (base_dir);
- g_free (base_uri);
- }
-
- if (on_this_computer) {
- /* make sure "Personal" shows up as a source under
- * this group */
- GSList *sources = e_source_group_peek_sources (on_this_computer);
- GSList *s;
- for (s = sources; s; s = s->next) {
- ESource *source = E_SOURCE (s->data);
- const gchar *relative_uri;
-
- relative_uri = e_source_peek_relative_uri (source);
- if (relative_uri == NULL)
- continue;
- if (!strcmp (PERSONAL_RELATIVE_URI, relative_uri)) {
- personal_source = g_object_ref (source);
- break;
- }
- }
- }
- else {
- /* create the local source group */
- group = e_source_group_new (_("On This Computer"), LOCAL_BASE_URI);
- e_source_list_add_group (list, group, -1);
-
- on_this_computer = group;
- }
-
- if (!personal_source) {
- /* Create the default Person addressbook */
- ESource *source = e_source_new (_("Personal"), PERSONAL_RELATIVE_URI);
- e_source_group_add_source (on_this_computer, source, -1);
-
- e_source_set_property (source, "completion", "true");
-
- personal_source = source;
- }
-
- if (on_this_computer)
- g_object_unref (on_this_computer);
- if (personal_source)
- g_object_unref (personal_source);
-
- e_source_list_sync (list, NULL);
- g_object_unref (list);
-}
-
diff --git a/capplet/settings/mail-settings-view.c b/capplet/settings/mail-settings-view.c
index 992f705826..2f284c685d 100644
--- a/capplet/settings/mail-settings-view.c
+++ b/capplet/settings/mail-settings-view.c
@@ -69,11 +69,11 @@ mail_settings_view_finalize (GObject *object)
}
static void
-mail_settings_view_class_init (MailSettingsViewClass *klass)
+mail_settings_view_class_init (MailSettingsViewClass *class)
{
- GObjectClass * object_class = G_OBJECT_CLASS (klass);
+ GObjectClass * object_class = G_OBJECT_CLASS (class);
- mail_settings_view_parent_class = g_type_class_peek_parent (klass);
+ mail_settings_view_parent_class = g_type_class_peek_parent (class);
object_class->finalize = mail_settings_view_finalize;
signals[VIEW_CLOSE] =
@@ -160,7 +160,9 @@ build_account_button (MailSettingsView *acview,
gtk_widget_show (tbox);
gtk_container_add ((GtkContainer *) label, tbox);
g_object_set_data ((GObject *)label, "account", account);
- g_signal_connect (label, "clicked", G_CALLBACK(msv_edit_account), acview);
+ g_signal_connect (
+ label, "clicked",
+ G_CALLBACK (msv_edit_account), acview);
gtk_box_pack_start ((GtkBox *) box1, label, FALSE, FALSE, 0);
gtk_widget_show (label);
@@ -169,7 +171,9 @@ build_account_button (MailSettingsView *acview,
gtk_box_pack_start ((GtkBox *) box1, tlabel, FALSE, FALSE, 12);
gtk_widget_show (tlabel);
g_object_set_data ((GObject *)tlabel, "account", account);
- g_signal_connect (tlabel, "clicked", G_CALLBACK(msv_delete_account), acview);
+ g_signal_connect (
+ tlabel, "clicked",
+ G_CALLBACK (msv_delete_account), acview);
}
PACK_BOX (box1,24);
@@ -214,7 +218,9 @@ mail_settings_view_construct (MailSettingsView *acview)
gtk_scrolled_window_add_with_viewport ((GtkScrolledWindow *) acview->priv->scroll, acview->priv->box);
acview->priv->accounts = e_get_account_list ();
- g_signal_connect (acview->priv->accounts, "account-added", G_CALLBACK(msv_account_added), acview);
+ g_signal_connect (
+ acview->priv->accounts, "account-added",
+ G_CALLBACK (msv_account_added), acview);
msv_regen_view (acview);
gtk_widget_show ((GtkWidget *) acview);
@@ -254,7 +260,9 @@ mail_settings_view_get_tab_widget (MailSettingsView *mcv)
gtk_button_set_relief ((GtkButton *) tool, GTK_RELIEF_NONE);
gtk_button_set_focus_on_click ((GtkButton *) tool, FALSE);
gtk_widget_set_tooltip_text (tool, _("Close Tab"));
- g_signal_connect (tool, "clicked", G_CALLBACK(msv_close), mcv);
+ g_signal_connect (
+ tool, "clicked",
+ G_CALLBACK (msv_close), mcv);
box = gtk_hbox_new (FALSE, 0);
gtk_box_pack_start ((GtkBox *) box, img, FALSE, FALSE, 0);
diff --git a/capplet/settings/mail-view.c b/capplet/settings/mail-view.c
index 4477be517a..db4002b87b 100644
--- a/capplet/settings/mail-view.c
+++ b/capplet/settings/mail-view.c
@@ -42,8 +42,11 @@
#include "mail/em-folder-tree.h"
#include <shell/e-shell-searchbar.h>
-struct _MailViewPrivate {
+#define MAIL_VIEW_GET_PRIVATE(obj) \
+ (G_TYPE_INSTANCE_GET_PRIVATE \
+ ((obj), MAIL_VIEW_TYPE, MailViewPrivate))
+struct _MailViewPrivate {
GtkWidget *box;
GList *children;
MailViewChild *current_view;
@@ -74,22 +77,17 @@ void anjal_shell_view_restore_state (EShellView *view, const gchar *uri);
static void
mail_view_init (MailView *shell)
{
- shell->priv = g_new0 (MailViewPrivate, 1);
- shell->priv->children = NULL;
- shell->priv->current_view = NULL;
- shell->folder_tree = NULL;
- shell->check_mail = NULL;
- shell->sort_by = NULL;
+ shell->priv = MAIL_VIEW_GET_PRIVATE (shell);
}
static void
mail_view_finalize (GObject *object)
{
- MailView *shell = (MailView *) object;
- MailViewPrivate *priv = shell->priv;
+ MailViewPrivate *priv;
+
+ priv = MAIL_VIEW_GET_PRIVATE (object);
g_list_free (priv->children);
- g_free (priv);
G_OBJECT_CLASS (mail_view_parent_class)->finalize (object);
}
@@ -103,7 +101,9 @@ mv_set_folder_uri (AnjalMailView *mv,
#endif
}
-static void set_folder_tree (AnjalMailView *mv, EMFolderTree *tree)
+static void
+set_folder_tree (AnjalMailView *mv,
+ EMFolderTree *tree)
{
mail_view_set_folder_tree ((MailView *) mv, (GtkWidget *) tree);
}
@@ -118,9 +118,15 @@ set_search (AnjalMailView *mv,
}
static void
-mail_view_class_init (MailViewClass *klass)
+mail_view_class_init (MailViewClass *class)
{
- GObjectClass * object_class = G_OBJECT_CLASS (klass);
+ GObjectClass *object_class;
+
+ g_type_class_add_private (class, sizeof (MailViewPrivate));
+
+ object_class = G_OBJECT_CLASS (class);
+ object_class->finalize = mail_view_finalize;
+
signals[VIEW_NEW] =
g_signal_new ("view-new",
G_OBJECT_CLASS_TYPE (object_class),
@@ -130,12 +136,9 @@ mail_view_class_init (MailViewClass *klass)
g_cclosure_marshal_VOID__VOID,
G_TYPE_NONE, 0);
- mail_view_parent_class = g_type_class_peek_parent (klass);
- ((AnjalMailViewClass *) klass)->set_folder_uri = mv_set_folder_uri;
- ((AnjalMailViewClass *) klass)->set_folder_tree = set_folder_tree;
- ((AnjalMailViewClass *) klass)->set_search = set_search;
-
- object_class->finalize = mail_view_finalize;
+ ((AnjalMailViewClass *) class)->set_folder_uri = mv_set_folder_uri;
+ ((AnjalMailViewClass *) class)->set_folder_tree = set_folder_tree;
+ ((AnjalMailViewClass *) class)->set_search = set_search;
};
@@ -184,7 +187,10 @@ mail_view_construct (MailView *shell)
gtk_notebook_set_show_tabs ((GtkNotebook *) shell, TRUE);
gtk_notebook_set_scrollable ((GtkNotebook *) shell, TRUE);
gtk_notebook_popup_disable ((GtkNotebook *) shell);
- g_signal_connect_after (shell, "switch-page", G_CALLBACK(mv_switch), shell);
+
+ g_signal_connect_after (
+ shell, "switch-page",
+ G_CALLBACK (mv_switch), shell);
}
MailView *
@@ -330,13 +336,26 @@ mail_view_add_folder (MailView *mv,
gtk_notebook_set_tab_reorderable (GTK_NOTEBOOK (mv), (GtkWidget *) mfv, TRUE);
gtk_notebook_set_tab_detachable (GTK_NOTEBOOK (mv), (GtkWidget *) mfv, FALSE);
- g_signal_connect (mfv, "view-close", G_CALLBACK(mv_close_mcv), mv);
+ g_signal_connect (
+ mfv, "view-close",
+ G_CALLBACK (mv_close_mcv), mv);
+
if (!block)
gtk_notebook_set_current_page ((GtkNotebook *) mv, position);
- g_signal_connect (mfv, "message-shown", G_CALLBACK(mv_message_shown), mv);
- g_signal_connect (mfv, "message-new", G_CALLBACK(mv_message_new), mv);
- g_signal_connect (mfv, "search-set", G_CALLBACK(mv_search_set), mv);
- g_signal_connect (mfv, "view-loaded", G_CALLBACK (mv_folder_loaded), mv);
+
+ g_signal_connect (
+ mfv, "message-shown",
+ G_CALLBACK (mv_message_shown), mv);
+ g_signal_connect (
+ mfv, "message-new",
+ G_CALLBACK (mv_message_new), mv);
+ g_signal_connect (
+ mfv, "search-set",
+ G_CALLBACK (mv_search_set), mv);
+ g_signal_connect (
+ mfv, "view-loaded",
+ G_CALLBACK (mv_folder_loaded), mv);
+
if (!block)
mail_folder_view_activate (mfv, mv->tree, mv->folder_tree, mv->check_mail, mv->sort_by, mv->slider, TRUE);
@@ -377,8 +396,12 @@ mail_view_add_composer (MailView *mv,
if (!block)
mail_composer_view_activate (mcv, mv->folder_tree, mv->check_mail, mv->sort_by, FALSE);
- g_signal_connect (mcv, "view-close", G_CALLBACK(mv_close_mcv), mv);
- g_signal_connect (mcv, "message-shown", G_CALLBACK(mv_message_shown), mv);
+ g_signal_connect (
+ mcv, "view-close",
+ G_CALLBACK (mv_close_mcv), mv);
+ g_signal_connect (
+ mcv, "message-shown",
+ G_CALLBACK (mv_message_shown), mv);
return (MailViewChild *) mcv;
}
@@ -406,8 +429,12 @@ mail_view_add_message (MailView *mv,
if (!block)
mail_conv_view_activate (mcv, mv->tree, mv->folder_tree, mv->check_mail, mv->sort_by, FALSE);
- g_signal_connect (mcv, "view-close", G_CALLBACK(mv_close_mcv), mv);
- g_signal_connect (mcv, "message-shown", G_CALLBACK(mv_message_shown), mv);
+ g_signal_connect (
+ mcv, "view-close",
+ G_CALLBACK (mv_close_mcv), mv);
+ g_signal_connect (
+ mcv, "message-shown",
+ G_CALLBACK (mv_message_shown), mv);
return (MailViewChild *) mcv;
}
@@ -436,8 +463,12 @@ mail_view_add_settings (MailView *mv,
mv->priv->children = block ? g_list_append (mv->priv->children, msv) : g_list_prepend (mv->priv->children, msv);
position = gtk_notebook_append_page ((GtkNotebook *) mv, (GtkWidget *) msv, mail_settings_view_get_tab_widget (msv));
- g_signal_connect (msv, "view-close", G_CALLBACK(mv_close_mcv), mv);
- g_signal_connect (msv, "show-account", G_CALLBACK(mv_show_acc_mcv), mv);
+ g_signal_connect (
+ msv, "view-close",
+ G_CALLBACK (mv_close_mcv), mv);
+ g_signal_connect (
+ msv, "show-account",
+ G_CALLBACK (mv_show_acc_mcv), mv);
gtk_notebook_set_tab_reorderable (GTK_NOTEBOOK (mv), (GtkWidget *) msv, TRUE);
gtk_notebook_set_tab_detachable (GTK_NOTEBOOK (mv), (GtkWidget *) msv, FALSE);
if (!block)
@@ -462,7 +493,9 @@ mail_view_add_account (MailView *mv,
mv->priv->current_view = (MailViewChild *) msv;
mv->priv->children = block ? g_list_append (mv->priv->children, msv) : g_list_prepend (mv->priv->children, msv);
position = gtk_notebook_append_page ((GtkNotebook *) mv, (GtkWidget *) msv, mail_account_view_get_tab_widget (msv));
- g_signal_connect_after (msv, "view-close", G_CALLBACK(mv_close_mcv), mv);
+ g_signal_connect_after (
+ msv, "view-close",
+ G_CALLBACK (mv_close_mcv), mv);
gtk_notebook_set_tab_reorderable (GTK_NOTEBOOK (mv), (GtkWidget *) msv, TRUE);
gtk_notebook_set_tab_detachable (GTK_NOTEBOOK (mv), (GtkWidget *) msv, FALSE);
if (!block)