From 054c0881696a85f537e93b4950a28f505a3dc0f7 Mon Sep 17 00:00:00 2001 From: Matthew Barnes Date: Thu, 24 Sep 2009 18:04:36 -0400 Subject: =?UTF-8?q?Bug=C2=A0589153=20-=20Use=20GtkBuilder=20instead=20of?= =?UTF-8?q?=20libglade?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- mail/Makefile.am | 17 +- mail/e-mail-browser.c | 2 +- mail/e-mail-tag-editor.c | 498 ++++ mail/e-mail-tag-editor.h | 94 + mail/em-account-editor.c | 398 ++- mail/em-filter-editor.c | 21 +- mail/em-filter-editor.h | 2 +- mail/em-format-html-display.c | 19 +- mail/em-subscribe-editor.c | 29 +- mail/em-utils.c | 31 +- mail/em-vfolder-editor.c | 18 +- mail/em-vfolder-rule.c | 80 +- mail/mail-config.c | 1 - mail/mail-config.glade | 5575 ---------------------------------------- mail/mail-config.ui | 5634 +++++++++++++++++++++++++++++++++++++++++ mail/mail-dialogs.glade | 911 ------- mail/mail-dialogs.ui | 869 +++++++ mail/message-tag-editor.c | 124 - mail/message-tag-editor.h | 66 - mail/message-tag-followup.c | 351 --- mail/message-tag-followup.h | 73 - 21 files changed, 7348 insertions(+), 7465 deletions(-) create mode 100644 mail/e-mail-tag-editor.c create mode 100644 mail/e-mail-tag-editor.h delete mode 100644 mail/mail-config.glade create mode 100644 mail/mail-config.ui delete mode 100644 mail/mail-dialogs.glade create mode 100644 mail/mail-dialogs.ui delete mode 100644 mail/message-tag-editor.c delete mode 100644 mail/message-tag-editor.h delete mode 100644 mail/message-tag-followup.c delete mode 100644 mail/message-tag-followup.h (limited to 'mail') diff --git a/mail/Makefile.am b/mail/Makefile.am index 286d27dc12..e06b175e7d 100644 --- a/mail/Makefile.am +++ b/mail/Makefile.am @@ -24,14 +24,13 @@ libevolution_mail_la_CPPFLAGS = \ $(CANBERRA_CFLAGS) \ -DEVOLUTION_DATADIR=\""$(datadir)"\" \ -DEVOLUTION_PRIVDATADIR=\""$(privdatadir)"\" \ - -DEVOLUTION_GLADEDIR=\""$(gladedir)"\" \ -DEVOLUTION_ETSPECDIR=\""$(etspecdir)"\" \ -DEVOLUTION_ICONSDIR=\""$(imagesdir)"\" \ -DEVOLUTION_IMAGES=\""$(imagesdir)"\" \ -DEVOLUTION_GALVIEWSDIR=\""$(viewsdir)"\" \ -DEVOLUTION_BUTTONSDIR=\""$(buttonsdir)"\" \ -DEVOLUTION_LOCALEDIR=\""$(localedir)"\" \ - -DEVOLUTION_UIDIR=\""$(evolutionuidir)"\" \ + -DEVOLUTION_UIDIR=\""$(uidir)"\" \ -DCAMEL_PROVIDERDIR=\""$(camel_providerdir)"\" \ -DPREFIX=\""$(prefix)"\" \ -DG_LOG_DOMAIN=\"evolution-mail\" @@ -50,6 +49,7 @@ mailinclude_HEADERS = \ e-mail-reader-utils.h \ e-mail-search-bar.h \ e-mail-store.h \ + e-mail-tag-editor.h \ e-searching-tokenizer.h \ em-account-editor.h \ em-composer-utils.h \ @@ -89,9 +89,7 @@ mailinclude_HEADERS = \ mail-session.h \ mail-tools.h \ mail-vfolder.h \ - message-list.h \ - message-tag-editor.h \ - message-tag-followup.h + message-list.h libevolution_mail_la_SOURCES = \ e-mail-attachment-bar.c \ @@ -107,6 +105,7 @@ libevolution_mail_la_SOURCES = \ e-mail-reader-utils.c \ e-mail-search-bar.c \ e-mail-store.c \ + e-mail-tag-editor.c \ e-searching-tokenizer.c \ em-account-editor.c \ em-composer-utils.c \ @@ -146,9 +145,7 @@ libevolution_mail_la_SOURCES = \ mail-session.c \ mail-tools.c \ mail-vfolder.c \ - message-list.c \ - message-tag-editor.c \ - message-tag-followup.c + message-list.c if ENABLE_SMIME SMIME_LIBS = \ @@ -195,7 +192,7 @@ em-filter-i18n.h: filtertypes.xml vfoldertypes.xml searchtypes.xml sed -n -e 's:.*\(.*\):gchar *s = N_("\1");:p' | \ sort -u >> $@ -glade_DATA = mail-config.glade mail-dialogs.glade +ui_DATA = mail-config.ui mail-dialogs.ui etspec_DATA = message-list.etspec @@ -203,7 +200,7 @@ EXTRA_DIST = \ ChangeLog.pre-1-4 \ README.async \ mail.error.xml \ - $(glade_DATA) \ + $(ui_DATA) \ $(schema_in_files) \ $(server_in_files) \ $(etspec_DATA) \ diff --git a/mail/e-mail-browser.c b/mail/e-mail-browser.c index 88e6202fda..e605e27267 100644 --- a/mail/e-mail-browser.c +++ b/mail/e-mail-browser.c @@ -440,7 +440,7 @@ mail_browser_constructed (GObject *object) G_N_ELEMENTS (mail_browser_entries), object); gtk_ui_manager_insert_action_group (ui_manager, action_group, 0); - e_load_ui_definition (ui_manager, E_MAIL_READER_UI_DEFINITION); + e_load_ui_manager_definition (ui_manager, E_MAIL_READER_UI_DEFINITION); gtk_ui_manager_add_ui_from_string (ui_manager, ui, -1, NULL); merge_id = gtk_ui_manager_new_merge_id (ui_manager); diff --git a/mail/e-mail-tag-editor.c b/mail/e-mail-tag-editor.c new file mode 100644 index 0000000000..aed734163c --- /dev/null +++ b/mail/e-mail-tag-editor.c @@ -0,0 +1,498 @@ +/* + * + * 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 + * + * + * Authors: + * Jeffrey Stedfast + * + * Copyright (C) 1999-2008 Novell, Inc. (www.novell.com) + * + */ + +#ifdef HAVE_CONFIG_H +#include +#endif + +#include "e-mail-tag-editor.h" + +#include +#include + +#include "e-util/e-util.h" +#include "e-util/e-binding.h" +#include "widgets/misc/e-dateedit.h" + +#define E_MAIL_TAG_EDITOR_GET_PRIVATE(obj) \ + (G_TYPE_INSTANCE_GET_PRIVATE \ + ((obj), E_TYPE_MAIL_TAG_EDITOR, EMailTagEditorPrivate)) + +#define DEFAULT_FLAG 2 /* "Follow-Up" */ + +struct _EMailTagEditorPrivate { + GtkTreeView *message_list; + GtkComboBox *combo_entry; + EDateEdit *target_date; + + gboolean completed; + time_t completed_date; + + /* EDateEdit settings */ + gint week_start_day; + gboolean use_24_hour_format; +}; + +enum { + PROP_0, + PROP_COMPLETED, + PROP_USE_24_HOUR_FORMAT, + PROP_WEEK_START_DAY +}; + +enum { + COLUMN_FROM, + COLUMN_SUBJECT +}; + +static gpointer parent_class; + +static void +mail_tag_editor_clear_clicked_cb (EMailTagEditor *editor) +{ + gtk_combo_box_set_active (editor->priv->combo_entry, DEFAULT_FLAG); + e_date_edit_set_time (editor->priv->target_date, (time_t) -1); + e_mail_tag_editor_set_completed (editor, FALSE); +} + +static void +mail_tag_editor_set_property (GObject *object, + guint property_id, + const GValue *value, + GParamSpec *pspec) +{ + switch (property_id) { + case PROP_COMPLETED: + e_mail_tag_editor_set_completed ( + E_MAIL_TAG_EDITOR (object), + g_value_get_boolean (value)); + return; + + case PROP_USE_24_HOUR_FORMAT: + e_mail_tag_editor_set_use_24_hour_format ( + E_MAIL_TAG_EDITOR (object), + g_value_get_boolean (value)); + return; + + case PROP_WEEK_START_DAY: + e_mail_tag_editor_set_week_start_day ( + E_MAIL_TAG_EDITOR (object), + g_value_get_int (value)); + return; + } + + G_OBJECT_WARN_INVALID_PROPERTY_ID (object, property_id, pspec); +} + +static void +mail_tag_editor_get_property (GObject *object, + guint property_id, + GValue *value, + GParamSpec *pspec) +{ + switch (property_id) { + case PROP_COMPLETED: + g_value_set_boolean ( + value, + e_mail_tag_editor_get_completed ( + E_MAIL_TAG_EDITOR (object))); + return; + + case PROP_USE_24_HOUR_FORMAT: + g_value_set_boolean ( + value, + e_mail_tag_editor_get_use_24_hour_format ( + E_MAIL_TAG_EDITOR (object))); + return; + + case PROP_WEEK_START_DAY: + g_value_set_int ( + value, + e_mail_tag_editor_get_week_start_day ( + E_MAIL_TAG_EDITOR (object))); + return; + } + + G_OBJECT_WARN_INVALID_PROPERTY_ID (object, property_id, pspec); +} + +static void +mail_tag_editor_realize (GtkWidget *widget) +{ + GtkWidget *action_area; + GtkWidget *content_area; + + /* Chain up to parent's realize() method. */ + GTK_WIDGET_CLASS (parent_class)->realize (widget); + + /* XXX Override GTK's brain-dead border width defaults. */ + + action_area = gtk_dialog_get_action_area (GTK_DIALOG (widget)); + content_area = gtk_dialog_get_content_area (GTK_DIALOG (widget)); + + gtk_container_set_border_width (GTK_CONTAINER (content_area), 0); + gtk_container_set_border_width (GTK_CONTAINER (action_area), 12); +} + +static CamelTag * +mail_tag_editor_get_tag_list (EMailTagEditor *editor) +{ + CamelTag *tag_list = NULL; + time_t date; + gchar *text; + + text = gtk_combo_box_get_active_text (editor->priv->combo_entry); + camel_tag_set (&tag_list, "follow-up", text); + g_free (text); + + date = e_date_edit_get_time (editor->priv->target_date); + if (date != (time_t) -1) { + text = camel_header_format_date (date, 0); + camel_tag_set (&tag_list, "due-by", text); + g_free (text); + } + camel_tag_set (&tag_list, "due-by", ""); + + if (e_mail_tag_editor_get_completed (editor)) { + text = camel_header_format_date ( + editor->priv->completed_date, 0); + camel_tag_set (&tag_list, "completed-on", text); + g_free (text); + } + camel_tag_set (&tag_list, "completed-on", ""); + + return tag_list; +} + +static void +mail_tag_editor_set_tag_list (EMailTagEditor *editor, + CamelTag *tag_list) +{ + GtkWidget *child; + const gchar *text; + time_t date; + + /* Extract the GtkEntry from the GtkComboBoxEntry. */ + child = gtk_bin_get_child (GTK_BIN (editor->priv->combo_entry)); + + /* XXX This is kind of cheating. Since we only store the + * translated tag there's no sure-fire way to determine + * the corresponding combo box index (e.g. the tag may + * have been set while running in a different locale). */ + text = camel_tag_get (&tag_list, "follow-up"); + if (text != NULL) + gtk_entry_set_text (GTK_ENTRY (child), text); + + text = camel_tag_get (&tag_list, "due-by"); + if (text != NULL && *text != '\0') { + date = camel_header_decode_date (text, NULL); + e_date_edit_set_time (editor->priv->target_date, date); + } else + e_date_edit_set_time (editor->priv->target_date, (time_t) -1); + + text = camel_tag_get (&tag_list, "completed-on"); + if (text != NULL && *text != '\0') { + date = camel_header_decode_date (text, NULL); + if (date != (time_t) 0) { + e_mail_tag_editor_set_completed (editor, TRUE); + editor->priv->completed_date = date; + } + } +} + +static void +mail_tag_editor_class_init (EMailTagEditorClass *class) +{ + GObjectClass *object_class; + GtkWidgetClass *widget_class; + + parent_class = g_type_class_peek_parent (class); + g_type_class_add_private (class, sizeof (EMailTagEditorPrivate)); + + object_class = G_OBJECT_CLASS (class); + object_class->set_property = mail_tag_editor_set_property; + object_class->get_property = mail_tag_editor_get_property; + + widget_class = GTK_WIDGET_CLASS (class); + widget_class->realize = mail_tag_editor_realize; + + class->get_tag_list = mail_tag_editor_get_tag_list; + class->set_tag_list = mail_tag_editor_set_tag_list; + + g_object_class_install_property ( + object_class, + PROP_COMPLETED, + g_param_spec_boolean ( + "completed", + "Completed", + NULL, + FALSE, + G_PARAM_READWRITE)); + + g_object_class_install_property ( + object_class, + PROP_USE_24_HOUR_FORMAT, + g_param_spec_boolean ( + "use-24-hour-format", + "Use 24-Hour Format", + NULL, + TRUE, + G_PARAM_READWRITE)); + + g_object_class_install_property ( + object_class, + PROP_WEEK_START_DAY, + g_param_spec_int ( + "week-start-day", + "Week Start Day", + NULL, + 0, /* Monday */ + 6, /* Sunday */ + 0, + G_PARAM_READWRITE)); +} + +static void +mail_tag_editor_init (EMailTagEditor *editor) +{ + GtkBuilder *builder; + GtkDialog *dialog; + GtkWidget *widget; + GtkWidget *content_area; + GtkWindow *window; + GtkCellRenderer *renderer; + GtkListStore *store; + + editor->priv = E_MAIL_TAG_EDITOR_GET_PRIVATE (editor); + + dialog = GTK_DIALOG (editor); + window = GTK_WINDOW (editor); + + gtk_window_set_default_size (window, 400, 500); + gtk_window_set_title (window, _("Flag to Follow Up")); + gtk_window_set_icon_name (window, "stock_mail-flag-for-followup"); + + gtk_dialog_add_buttons ( + dialog, GTK_STOCK_CANCEL, GTK_RESPONSE_CANCEL, + GTK_STOCK_OK, GTK_RESPONSE_OK, NULL); + + gtk_dialog_set_default_response (dialog, GTK_RESPONSE_OK); + + content_area = gtk_dialog_get_content_area (dialog); + + /* Load the rest of the UI from the builder file. */ + + builder = gtk_builder_new (); + e_load_ui_builder_definition (builder, "mail-dialogs.ui"); + + widget = e_builder_get_widget (builder, "toplevel"); + gtk_box_pack_start (GTK_BOX (content_area), widget, TRUE, TRUE, 6); + + widget = e_builder_get_widget (builder, "pixmap"); + e_binding_new (window, "icon-name", widget, "icon-name"); + + widget = e_builder_get_widget (builder, "message_list"); + editor->priv->message_list = GTK_TREE_VIEW (widget); + + store = gtk_list_store_new (2, G_TYPE_STRING, G_TYPE_STRING); + gtk_tree_view_set_model ( + GTK_TREE_VIEW (widget), GTK_TREE_MODEL (store)); + + renderer = gtk_cell_renderer_text_new (); + gtk_tree_view_insert_column_with_attributes ( + GTK_TREE_VIEW (widget), -1, _("From"), + renderer, "text", 0, NULL); + + renderer = gtk_cell_renderer_text_new (); + gtk_tree_view_insert_column_with_attributes ( + GTK_TREE_VIEW (widget), -1, _("Subject"), + renderer, "text", 1, NULL); + + widget = e_builder_get_widget (builder, "combo"); + gtk_combo_box_entry_set_text_column (GTK_COMBO_BOX_ENTRY (widget), 0); + editor->priv->combo_entry = GTK_COMBO_BOX (widget); + gtk_combo_box_set_active (GTK_COMBO_BOX (widget), DEFAULT_FLAG); + + widget = e_builder_get_widget (builder, "target_date"); + editor->priv->target_date = E_DATE_EDIT (widget); + e_binding_new ( + editor, "use-24-hour-format", + widget, "use-24-hour-format"); + e_binding_new ( + editor, "week-start-day", + widget, "week-start-day"); + + widget = e_builder_get_widget (builder, "completed"); + e_mutual_binding_new (editor, "completed", widget, "active"); + + widget = e_builder_get_widget (builder, "clear"); + g_signal_connect_swapped ( + widget, "clicked", + G_CALLBACK (mail_tag_editor_clear_clicked_cb), editor); + + g_object_unref (builder); +} + +GType +e_mail_tag_editor_get_type (void) +{ + static GType type = 0; + + if (G_UNLIKELY (type == 0)) { + static const GTypeInfo type_info = { + sizeof (EMailTagEditorClass), + (GBaseInitFunc) NULL, + (GBaseFinalizeFunc) NULL, + (GClassInitFunc) mail_tag_editor_class_init, + (GClassFinalizeFunc) NULL, + NULL, /* class_data */ + sizeof (EMailTagEditor), + 0, /* n_preallocs */ + (GInstanceInitFunc) mail_tag_editor_init, + NULL /* valute_table */ + }; + + type = g_type_register_static ( + GTK_TYPE_DIALOG, "EMailTagEditor", &type_info, 0); + } + + return type; +} + +GtkWidget * +e_mail_tag_editor_new (void) +{ + return g_object_new (E_TYPE_MAIL_TAG_EDITOR, NULL); +} + +gboolean +e_mail_tag_editor_get_completed (EMailTagEditor *editor) +{ + g_return_val_if_fail (E_IS_MAIL_TAG_EDITOR (editor), FALSE); + + return editor->priv->completed; +} + +void +e_mail_tag_editor_set_completed (EMailTagEditor *editor, + gboolean completed) +{ + g_return_if_fail (E_IS_MAIL_TAG_EDITOR (editor)); + + if (completed == editor->priv->completed) + return; + + editor->priv->completed = completed; + editor->priv->completed_date = completed ? time (NULL) : 0; + + g_object_notify (G_OBJECT (editor), "completed"); +} + +gint +e_mail_tag_editor_get_week_start_day (EMailTagEditor *editor) +{ + g_return_val_if_fail (E_IS_MAIL_TAG_EDITOR (editor), 1); + + return editor->priv->week_start_day; +} + +void +e_mail_tag_editor_set_week_start_day (EMailTagEditor *editor, + gint week_start_day) +{ + g_return_if_fail (E_IS_MAIL_TAG_EDITOR (editor)); + g_return_if_fail (week_start_day >= 0 && week_start_day < 7); + + editor->priv->week_start_day = week_start_day; + + g_object_notify (G_OBJECT (editor), "week-start-day"); +} + +gboolean +e_mail_tag_editor_get_use_24_hour_format (EMailTagEditor *editor) +{ + g_return_val_if_fail (E_IS_MAIL_TAG_EDITOR (editor), TRUE); + + return editor->priv->use_24_hour_format; +} + +void +e_mail_tag_editor_set_use_24_hour_format (EMailTagEditor *editor, + gboolean use_24_hour_format) +{ + g_return_if_fail (E_IS_MAIL_TAG_EDITOR (editor)); + + if (use_24_hour_format == editor->priv->use_24_hour_format) + return; + + editor->priv->use_24_hour_format = use_24_hour_format; + + g_object_notify (G_OBJECT (editor), "use-24-hour-format"); +} + +CamelTag * +e_mail_tag_editor_get_tag_list (EMailTagEditor *editor) +{ + EMailTagEditorClass *class; + + g_return_val_if_fail (E_IS_MAIL_TAG_EDITOR (editor), NULL); + + class = E_MAIL_TAG_EDITOR_GET_CLASS (editor); + g_return_val_if_fail (class->get_tag_list != NULL, NULL); + + return class->get_tag_list (editor); +} + +void +e_mail_tag_editor_set_tag_list (EMailTagEditor *editor, + CamelTag *tag_list) +{ + EMailTagEditorClass *class; + + g_return_if_fail (E_IS_MAIL_TAG_EDITOR (editor)); + g_return_if_fail (tag_list != NULL); + + class = E_MAIL_TAG_EDITOR_GET_CLASS (editor); + g_return_if_fail (class->set_tag_list != NULL); + + class->set_tag_list (editor, tag_list); +} + +void +e_mail_tag_editor_add_message (EMailTagEditor *editor, + const gchar *from, + const gchar *subject) +{ + GtkTreeModel *model; + GtkTreeIter iter; + + g_return_if_fail (E_MAIL_TAG_EDITOR (editor)); + + model = gtk_tree_view_get_model (editor->priv->message_list); + + gtk_list_store_append (GTK_LIST_STORE (model), &iter); + + gtk_list_store_set ( + GTK_LIST_STORE (model), &iter, + COLUMN_FROM, from, COLUMN_SUBJECT, subject, -1); +} diff --git a/mail/e-mail-tag-editor.h b/mail/e-mail-tag-editor.h new file mode 100644 index 0000000000..b28674cff6 --- /dev/null +++ b/mail/e-mail-tag-editor.h @@ -0,0 +1,94 @@ +/* + * + * 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 + * + * + * Authors: + * Jeffrey Stedfast + * + * Copyright (C) 1999-2008 Novell, Inc. (www.novell.com) + * + */ + +#ifndef E_MAIL_TAG_EDITOR_H +#define E_MAIL_TAG_EDITOR_H + +#include +#include +#include + +/* Standard GObject macros */ +#define E_TYPE_MAIL_TAG_EDITOR \ + (e_mail_tag_editor_get_type ()) +#define E_MAIL_TAG_EDITOR(obj) \ + (G_TYPE_CHECK_INSTANCE_CAST \ + ((obj), E_TYPE_MAIL_TAG_EDITOR, EMailTagEditor)) +#define E_MAIL_TAG_EDITOR_CLASS(cls) \ + (G_TYPE_CHECK_CLASS_CAST \ + ((cls), E_TYPE_MAIL_TAG_EDITOR, EMailTagEditorClass)) +#define E_IS_MAIL_TAG_EDITOR(obj) \ + (G_TYPE_CHECK_INSTANCE_TYPE \ + ((obj), E_TYPE_MAIL_TAG_EDITOR)) +#define E_IS_MAIL_TAG_EDITOR_CLASS(cls) \ + (G_TYPE_CHECK_CLASS_TYPE \ + ((cls), E_TYPE_MAIL_TAG_EDITOR)) +#define E_MAIL_TAG_EDITOR_GET_CLASS(obj) \ + (G_TYPE_INSTANCE_GET_CLASS \ + ((obj), E_TYPE_MAIL_TAG_EDITOR, EMailTagEditorClass)) + +G_BEGIN_DECLS + +typedef struct _EMailTagEditor EMailTagEditor; +typedef struct _EMailTagEditorClass EMailTagEditorClass; +typedef struct _EMailTagEditorPrivate EMailTagEditorPrivate; + +struct _EMailTagEditor { + GtkDialog parent; + EMailTagEditorPrivate *priv; +}; + +struct _EMailTagEditorClass { + GtkDialogClass parent_class; + + /* virtual methods */ + CamelTag * (*get_tag_list) (EMailTagEditor *editor); + void (*set_tag_list) (EMailTagEditor *editor, + CamelTag *tags); +}; + +GType e_mail_tag_editor_get_type (void); +GtkWidget * e_mail_tag_editor_new (void); +gboolean e_mail_tag_editor_get_completed (EMailTagEditor *editor); +void e_mail_tag_editor_set_completed (EMailTagEditor *editor, + gboolean completed); +gint e_mail_tag_editor_get_week_start_day + (EMailTagEditor *editor); +void e_mail_tag_editor_set_week_start_day + (EMailTagEditor *editor, + gint week_start_day); +gboolean e_mail_tag_editor_get_use_24_hour_format + (EMailTagEditor *editor); +void e_mail_tag_editor_set_use_24_hour_format + (EMailTagEditor *editor, + gboolean use_24_hour_format); +CamelTag * e_mail_tag_editor_get_tag_list (EMailTagEditor *editor); +void e_mail_tag_editor_set_tag_list (EMailTagEditor *editor, + CamelTag *tag_list); +void e_mail_tag_editor_add_message (EMailTagEditor *editor, + const gchar *from, + const gchar *subject); + +G_END_DECLS + +#endif /* E_MAIL_TAG_EDITOR_H */ diff --git a/mail/em-account-editor.c b/mail/em-account-editor.c index 7888ee5e76..ebd794bba2 100644 --- a/mail/em-account-editor.c +++ b/mail/em-account-editor.c @@ -46,9 +46,8 @@ #include -#include - #include "shell/e-shell.h" +#include "e-util/e-util.h" #include "e-util/e-error.h" #include "e-util/e-account-utils.h" #include "e-util/e-signature-list.h" @@ -567,34 +566,30 @@ emae_load_text (GtkTextView *view, const gchar *filename) static gboolean emae_display_license (EMAccountEditor *emae, CamelProvider *prov) { - GladeXML *xml; + GtkBuilder *builder; GtkWidget *w, *dialog; gchar *tmp; GtkResponseType response = GTK_RESPONSE_NONE; - gchar *gladefile; - gladefile = g_build_filename (EVOLUTION_GLADEDIR, - "mail-dialogs.glade", - NULL); - xml = glade_xml_new (gladefile, "license_dialog", NULL); - g_free (gladefile); + builder = gtk_builder_new (); + e_load_ui_builder_definition (builder, "mail-dialogs.ui"); - dialog = glade_xml_get_widget (xml, "license_dialog"); + dialog = e_builder_get_widget (builder, "license_dialog"); gtk_dialog_set_response_sensitive ((GtkDialog *)dialog, GTK_RESPONSE_ACCEPT, FALSE); tmp = g_strdup_printf (_("%s License Agreement"), prov->license); gtk_window_set_title ((GtkWindow *)dialog, tmp); g_free (tmp); - g_signal_connect (glade_xml_get_widget (xml, "license_checkbutton"), + g_signal_connect (e_builder_get_widget (builder, "license_checkbutton"), "toggled", G_CALLBACK(emae_license_state), dialog); tmp = g_strdup_printf (_("\nPlease read carefully the license agreement\n" "for %s displayed below\n" "and tick the check box for accepting it\n"), prov->license); - gtk_label_set_text ((GtkLabel *)glade_xml_get_widget (xml, "license_top_label"), tmp); + gtk_label_set_text ((GtkLabel *)e_builder_get_widget (builder, "license_top_label"), tmp); g_free (tmp); - w = glade_xml_get_widget (xml, "license_textview"); + w = e_builder_get_widget (builder, "license_textview"); if (emae_load_text ((GtkTextView *)w, prov->license_file)) { gtk_text_view_set_editable ((GtkTextView *)w, FALSE); response = gtk_dialog_run ((GtkDialog *)dialog); @@ -604,7 +599,7 @@ emae_display_license (EMAccountEditor *emae, CamelProvider *prov) } gtk_widget_destroy (dialog); - g_object_unref (xml); + g_object_unref (builder); return (response == GTK_RESPONSE_ACCEPT); } @@ -654,52 +649,6 @@ default_folders_clicked (GtkButton *button, gpointer user_data) emae_account_folder_changed ((EMFolderSelectionButton *)emae->priv->sent_folder_button, emae); } -/* custom widget factories */ -GtkWidget *em_account_editor_folder_selector_button_new (gchar *widget_name, gchar *string1, gchar *string2, gint int1, gint int2); - -GtkWidget * -em_account_editor_folder_selector_button_new (gchar *widget_name, gchar *string1, gchar *string2, gint int1, gint int2) -{ - return (GtkWidget *)em_folder_selection_button_new ( - string1 ? string1 : _("Select Folder"), NULL); -} - -GtkWidget *em_account_editor_dropdown_new (gchar *widget_name, gchar *string1, gchar *string2, gint int1, gint int2); - -GtkWidget * -em_account_editor_dropdown_new (gchar *widget_name, gchar *string1, gchar *string2, gint int1, gint int2) -{ - return gtk_combo_box_new (); -} - -GtkWidget *em_account_editor_ssl_selector_new (gchar *widget_name, gchar *string1, gchar *string2, gint int1, gint int2); - -GtkWidget * -em_account_editor_ssl_selector_new (gchar *widget_name, gchar *string1, gchar *string2, gint int1, gint int2) -{ - GtkComboBox *dropdown = (GtkComboBox *)gtk_combo_box_new (); - GtkCellRenderer *cell = gtk_cell_renderer_text_new (); - GtkListStore *store; - gint i; - GtkTreeIter iter; - - gtk_widget_show ((GtkWidget *)dropdown); - - store = gtk_list_store_new (2, G_TYPE_STRING, G_TYPE_POINTER); - - for (i=0;ipriv; - EMAccountEditorService *service = &gui->source; + EMAccountEditorPrivate *priv = emae->priv; + EMAccountEditorService *service = &priv->source; GHashTable *auto_detected; GSList *l; CamelProviderConfEntry *entries; @@ -890,11 +839,11 @@ emae_signature_new (GtkWidget *widget, EMAccountEditor *emae) } static GtkWidget * -emae_setup_signatures (EMAccountEditor *emae, GladeXML *xml) +emae_setup_signatures (EMAccountEditor *emae, GtkBuilder *builder) { EMAccountEditorPrivate *p = emae->priv; EAccount *account; - GtkComboBox *dropdown = (GtkComboBox *)glade_xml_get_widget (xml, "signature_dropdown"); + GtkComboBox *dropdown = (GtkComboBox *)e_builder_get_widget (builder, "signature_dropdown"); GtkCellRenderer *cell = gtk_cell_renderer_text_new (); GtkListStore *store; gint i, active=0; @@ -954,7 +903,7 @@ emae_setup_signatures (EMAccountEditor *emae, GladeXML *xml) g_signal_connect (dropdown, "changed", G_CALLBACK(emae_signaturetype_changed), emae); gtk_widget_set_sensitive ((GtkWidget *)dropdown, e_account_writable (account, E_ACCOUNT_ID_SIGNATURE)); - button = glade_xml_get_widget (xml, "sigAddNew"); + button = e_builder_get_widget (builder, "sigAddNew"); g_signal_connect (button, "clicked", G_CALLBACK(emae_signature_new), emae); gtk_widget_set_sensitive (button, gconf_client_key_is_writable (mail_config_get_gconf_client (), @@ -984,10 +933,10 @@ emae_receipt_policy_changed (GtkComboBox *dropdown, EMAccountEditor *emae) } static GtkWidget * -emae_setup_receipt_policy (EMAccountEditor *emae, GladeXML *xml) +emae_setup_receipt_policy (EMAccountEditor *emae, GtkBuilder *builder) { EAccount *account; - GtkComboBox *dropdown = (GtkComboBox *)glade_xml_get_widget (xml, "receipt_policy_dropdown"); + GtkComboBox *dropdown = (GtkComboBox *)e_builder_get_widget (builder, "receipt_policy_dropdown"); GtkListStore *store; gint i = 0, active = 0; GtkTreeIter iter; @@ -1042,14 +991,14 @@ emae_account_entry_changed (GtkEntry *entry, EMAccountEditor *emae) } static GtkEntry * -emae_account_entry (EMAccountEditor *emae, const gchar *name, gint item, GladeXML *xml) +emae_account_entry (EMAccountEditor *emae, const gchar *name, gint item, GtkBuilder *builder) { EAccount *account; GtkEntry *entry; const gchar *text; account = em_account_editor_get_modified_account (emae); - entry = (GtkEntry *)glade_xml_get_widget (xml, name); + entry = (GtkEntry *)e_builder_get_widget (builder, name); text = e_account_get_string (account, item); if (text) gtk_entry_set_text (entry, text); @@ -1099,11 +1048,11 @@ emae_account_toggle_widget (EMAccountEditor *emae, GtkToggleButton *toggle, gint } static GtkToggleButton * -emae_account_toggle (EMAccountEditor *emae, const gchar *name, gint item, GladeXML *xml) +emae_account_toggle (EMAccountEditor *emae, const gchar *name, gint item, GtkBuilder *builder) { GtkToggleButton *toggle; - toggle = (GtkToggleButton *)glade_xml_get_widget (xml, name); + toggle = (GtkToggleButton *)e_builder_get_widget (builder, name); emae_account_toggle_widget (emae, toggle, item); return toggle; @@ -1153,7 +1102,7 @@ emae_account_spinint (EMAccountEditor *emae, const gchar *name, gint item) { GtkSpinButton *spin; - spin = (GtkSpinButton *)glade_xml_get_widget (emae->priv->xml, name); + spin = (GtkSpinButton *)e_builder_get_widget (emae->priv->xml, name); emae_account_spinint_widget (emae, spin, item); return spin; @@ -1175,14 +1124,14 @@ emae_account_folder_changed (EMFolderSelectionButton *folder, EMAccountEditor *e } static EMFolderSelectionButton * -emae_account_folder (EMAccountEditor *emae, const gchar *name, gint item, gint deffolder, GladeXML *xml) +emae_account_folder (EMAccountEditor *emae, const gchar *name, gint item, gint deffolder, GtkBuilder *builder) { EAccount *account; EMFolderSelectionButton *folder; const gchar *uri; account = em_account_editor_get_modified_account (emae); - folder = (EMFolderSelectionButton *)glade_xml_get_widget (xml, name); + folder = (EMFolderSelectionButton *)e_builder_get_widget (builder, name); uri = e_account_get_string (account, item); if (uri) { gchar *tmp = em_uri_to_camel (uri); @@ -1210,35 +1159,35 @@ emae_account_folder (EMAccountEditor *emae, const gchar *name, gint item, gint d static void smime_changed (EMAccountEditor *emae) { - EMAccountEditorPrivate *gui = emae->priv; + EMAccountEditorPrivate *priv = emae->priv; gint act; const gchar *tmp; - tmp = gtk_entry_get_text (gui->smime_sign_key); + tmp = gtk_entry_get_text (priv->smime_sign_key); act = tmp && tmp[0]; - gtk_widget_set_sensitive ((GtkWidget *)gui->smime_sign_key_clear, act); - gtk_widget_set_sensitive ((GtkWidget *)gui->smime_sign_default, act); + gtk_widget_set_sensitive ((GtkWidget *)priv->smime_sign_key_clear, act); + gtk_widget_set_sensitive ((GtkWidget *)priv->smime_sign_default, act); if (!act) - gtk_toggle_button_set_active (gui->smime_sign_default, FALSE); + gtk_toggle_button_set_active (priv->smime_sign_default, FALSE); - tmp = gtk_entry_get_text (gui->smime_encrypt_key); + tmp = gtk_entry_get_text (priv->smime_encrypt_key); act = tmp && tmp[0]; - gtk_widget_set_sensitive ((GtkWidget *)gui->smime_encrypt_key_clear, act); - gtk_widget_set_sensitive ((GtkWidget *)gui->smime_encrypt_default, act); - gtk_widget_set_sensitive ((GtkWidget *)gui->smime_encrypt_to_self, act); + gtk_widget_set_sensitive ((GtkWidget *)priv->smime_encrypt_key_clear, act); + gtk_widget_set_sensitive ((GtkWidget *)priv->smime_encrypt_default, act); + gtk_widget_set_sensitive ((GtkWidget *)priv->smime_encrypt_to_self, act); if (!act) { - gtk_toggle_button_set_active (gui->smime_encrypt_default, FALSE); - gtk_toggle_button_set_active (gui->smime_encrypt_to_self, FALSE); + gtk_toggle_button_set_active (priv->smime_encrypt_default, FALSE); + gtk_toggle_button_set_active (priv->smime_encrypt_to_self, FALSE); } } static void smime_sign_key_selected (GtkWidget *dialog, const gchar *key, EMAccountEditor *emae) { - EMAccountEditorPrivate *gui = emae->priv; + EMAccountEditorPrivate *priv = emae->priv; if (key != NULL) { - gtk_entry_set_text (gui->smime_sign_key, key); + gtk_entry_set_text (priv->smime_sign_key, key); smime_changed (emae); } @@ -1248,10 +1197,10 @@ smime_sign_key_selected (GtkWidget *dialog, const gchar *key, EMAccountEditor *e static void smime_sign_key_select (GtkWidget *button, EMAccountEditor *emae) { - EMAccountEditorPrivate *gui = emae->priv; + EMAccountEditorPrivate *priv = emae->priv; GtkWidget *w; - w = e_cert_selector_new (E_CERT_SELECTOR_SIGNER, gtk_entry_get_text (gui->smime_sign_key)); + w = e_cert_selector_new (E_CERT_SELECTOR_SIGNER, gtk_entry_get_text (priv->smime_sign_key)); gtk_window_set_modal ((GtkWindow *)w, TRUE); gtk_window_set_transient_for ((GtkWindow *)w, (GtkWindow *)gtk_widget_get_toplevel (button)); g_signal_connect (w, "selected", G_CALLBACK(smime_sign_key_selected), emae); @@ -1261,19 +1210,19 @@ smime_sign_key_select (GtkWidget *button, EMAccountEditor *emae) static void smime_sign_key_clear (GtkWidget *w, EMAccountEditor *emae) { - EMAccountEditorPrivate *gui = emae->priv; + EMAccountEditorPrivate *priv = emae->priv; - gtk_entry_set_text (gui->smime_sign_key, ""); + gtk_entry_set_text (priv->smime_sign_key, ""); smime_changed (emae); } static void smime_encrypt_key_selected (GtkWidget *dialog, const gchar *key, EMAccountEditor *emae) { - EMAccountEditorPrivate *gui = emae->priv; + EMAccountEditorPrivate *priv = emae->priv; if (key != NULL) { - gtk_entry_set_text (gui->smime_encrypt_key, key); + gtk_entry_set_text (priv->smime_encrypt_key, key); smime_changed (emae); } @@ -1283,10 +1232,10 @@ smime_encrypt_key_selected (GtkWidget *dialog, const gchar *key, EMAccountEditor static void smime_encrypt_key_select (GtkWidget *button, EMAccountEditor *emae) { - EMAccountEditorPrivate *gui = emae->priv; + EMAccountEditorPrivate *priv = emae->priv; GtkWidget *w; - w = e_cert_selector_new (E_CERT_SELECTOR_SIGNER, gtk_entry_get_text (gui->smime_encrypt_key)); + w = e_cert_selector_new (E_CERT_SELECTOR_SIGNER, gtk_entry_get_text (priv->smime_encrypt_key)); gtk_window_set_modal ((GtkWindow *)w, TRUE); gtk_window_set_transient_for ((GtkWindow *)w, (GtkWindow *)gtk_widget_get_toplevel (button)); g_signal_connect (w, "selected", G_CALLBACK(smime_encrypt_key_selected), emae); @@ -1296,9 +1245,9 @@ smime_encrypt_key_select (GtkWidget *button, EMAccountEditor *emae) static void smime_encrypt_key_clear (GtkWidget *w, EMAccountEditor *emae) { - EMAccountEditorPrivate *gui = emae->priv; + EMAccountEditorPrivate *priv = emae->priv; - gtk_entry_set_text (gui->smime_encrypt_key, ""); + gtk_entry_set_text (priv->smime_encrypt_key, ""); smime_changed (emae); } #endif @@ -1955,7 +1904,7 @@ static void emae_check_authtype (GtkWidget *w, EMAccountEditorService *service) } static void -emae_setup_service (EMAccountEditor *emae, EMAccountEditorService *service, GladeXML *xml) +emae_setup_service (EMAccountEditor *emae, EMAccountEditorService *service, GtkBuilder *builder) { EAccount *account; struct _service_info *info = &emae_service_info[service->type]; @@ -1968,23 +1917,23 @@ emae_setup_service (EMAccountEditor *emae, EMAccountEditorService *service, Glad uri = e_account_get_string (account, info->account_uri_key); service->provider = uri?camel_provider_get (uri, NULL):NULL; - service->frame = glade_xml_get_widget (xml, info->frame); - service->container = glade_xml_get_widget (xml, info->container); - service->description = GTK_LABEL (glade_xml_get_widget (xml, info->description)); - service->hostname = GTK_ENTRY (glade_xml_get_widget (xml, info->hostname)); - service->hostlabel = (GtkLabel *)glade_xml_get_widget (xml, info->hostlabel); - service->username = GTK_ENTRY (glade_xml_get_widget (xml, info->username)); - service->userlabel = (GtkLabel *)glade_xml_get_widget (xml, info->userlabel); + service->frame = e_builder_get_widget (builder, info->frame); + service->container = e_builder_get_widget (builder, info->container); + service->description = GTK_LABEL (e_builder_get_widget (builder, info->description)); + service->hostname = GTK_ENTRY (e_builder_get_widget (builder, info->hostname)); + service->hostlabel = (GtkLabel *)e_builder_get_widget (builder, info->hostlabel); + service->username = GTK_ENTRY (e_builder_get_widget (builder, info->username)); + service->userlabel = (GtkLabel *)e_builder_get_widget (builder, info->userlabel); if (info->pathentry) { - service->pathlabel = (GtkLabel *)glade_xml_get_widget (xml, info->pathlabel); - service->pathentry = glade_xml_get_widget (xml, info->pathentry); + service->pathlabel = (GtkLabel *)e_builder_get_widget (builder, info->pathlabel); + service->pathentry = e_builder_get_widget (builder, info->pathentry); } - service->ssl_frame = glade_xml_get_widget (xml, info->security_frame); + service->ssl_frame = e_builder_get_widget (builder, info->security_frame); gtk_widget_hide (service->ssl_frame); - service->ssl_hbox = glade_xml_get_widget (xml, info->ssl_hbox); - service->use_ssl = (GtkComboBox *)glade_xml_get_widget (xml, info->use_ssl); - service->no_ssl = glade_xml_get_widget (xml, info->ssl_disabled); + service->ssl_hbox = e_builder_get_widget (builder, info->ssl_hbox); + service->use_ssl = (GtkComboBox *)e_builder_get_widget (builder, info->use_ssl); + service->no_ssl = e_builder_get_widget (builder, info->ssl_disabled); /* configure ui for current settings */ if (url->host) { @@ -2030,18 +1979,18 @@ emae_setup_service (EMAccountEditor *emae, EMAccountEditorService *service, Glad g_signal_connect (service->use_ssl, "changed", G_CALLBACK(emae_ssl_changed), service); - service->auth_frame = glade_xml_get_widget (xml, info->auth_frame); - service->remember = emae_account_toggle (emae, info->remember_password, info->save_passwd_key, xml); - service->check_supported = (GtkButton *)glade_xml_get_widget (xml, info->authtype_check); - service->authtype = (GtkComboBox *)glade_xml_get_widget (xml, info->authtype); + service->auth_frame = e_builder_get_widget (builder, info->auth_frame); + service->remember = emae_account_toggle (emae, info->remember_password, info->save_passwd_key, builder); + service->check_supported = (GtkButton *)e_builder_get_widget (builder, info->authtype_check); + service->authtype = (GtkComboBox *)e_builder_get_widget (builder, info->authtype); /* old authtype will be destroyed when we exit */ service->auth_changed_id = 0; - service->providers = (GtkComboBox *)glade_xml_get_widget (xml, info->type_dropdown); + service->providers = (GtkComboBox *)e_builder_get_widget (builder, info->type_dropdown); emae_refresh_providers (emae, service); emae_refresh_authtype (emae, service); if (info->needs_auth) { - service->needs_auth = (GtkToggleButton *)glade_xml_get_widget (xml, info->needs_auth); + service->needs_auth = (GtkToggleButton *)e_builder_get_widget (builder, info->needs_auth); gtk_toggle_button_set_active (service->needs_auth, url->authmech != NULL); g_signal_connect (service->needs_auth, "toggled", G_CALLBACK(emae_needs_auth), service); emae_needs_auth (service->needs_auth, service); @@ -2137,7 +2086,7 @@ static struct { /* its a bit obtuse, but its simple */ static void -emae_queue_widgets (EMAccountEditor *emae, GladeXML *xml, const gchar *first, ...) +emae_queue_widgets (EMAccountEditor *emae, GtkBuilder *builder, const gchar *first, ...) { gint i = 0; va_list ap; @@ -2145,7 +2094,7 @@ emae_queue_widgets (EMAccountEditor *emae, GladeXML *xml, const gchar *first, .. va_start (ap, first); while (first) { emae->priv->widgets_name[i] = first; - emae->priv->widgets[i++] = glade_xml_get_widget (xml, first); + emae->priv->widgets[i++] = e_builder_get_widget (builder, first); first = va_arg (ap, const gchar *); } va_end (ap); @@ -2160,51 +2109,52 @@ static GtkWidget * emae_identity_page (EConfig *ec, EConfigItem *item, GtkWidget *parent, GtkWidget *old, gpointer data) { EMAccountEditor *emae = data; - EMAccountEditorPrivate *gui = emae->priv; + EMAccountEditorPrivate *priv = emae->priv; EAccount *account; gint i; GtkWidget *w; - GladeXML *xml; - gchar *gladefile; + GtkBuilder *builder; /*if (old) return old;*/ account = em_account_editor_get_modified_account (emae); - gladefile = g_build_filename (EVOLUTION_GLADEDIR, - "mail-config.glade", - NULL); - xml = glade_xml_new (gladefile, item->label, NULL); - g_free (gladefile); + /* Make sure our custom widget classes are registered with + * GType before we load the GtkBuilder definition file. */ + EM_TYPE_FOLDER_SELECTION_BUTTON; + + builder = gtk_builder_new (); + e_load_ui_builder_definition (builder, "mail-config.ui"); /* Management & Identity fields, in the assistant the management frame is relocated to the last page later on */ for (i=0;iidentity_entries[i] = emae_account_entry (emae, emae_identity_entries[i].name, emae_identity_entries[i].item, xml); + priv->identity_entries[i] = emae_account_entry (emae, emae_identity_entries[i].name, emae_identity_entries[i].item, builder); - gui->management_frame = glade_xml_get_widget (xml, "management_frame"); + priv->management_frame = e_builder_get_widget (builder, "management_frame"); - gui->default_account = GTK_TOGGLE_BUTTON (glade_xml_get_widget (xml, "management_default")); + priv->default_account = GTK_TOGGLE_BUTTON (e_builder_get_widget (builder, "management_default")); if (!e_get_default_account () || (account == e_get_default_account ()) || (GPOINTER_TO_INT(g_object_get_data (G_OBJECT (account), "default_flagged"))) ) - gtk_toggle_button_set_active (gui->default_account, TRUE); + gtk_toggle_button_set_active (priv->default_account, TRUE); if (emae->do_signature) { - emae_setup_signatures (emae, xml); + emae_setup_signatures (emae, builder); } else { /* TODO: this could/should probably be neater */ - gtk_widget_hide (glade_xml_get_widget (xml, "sigLabel")); + gtk_widget_hide (e_builder_get_widget (builder, "sigLabel")); #if 0 - gtk_widget_hide (glade_xml_get_widget (xml, "sigOption")); + gtk_widget_hide (e_builder_get_widget (builder, "sigOption")); #endif - gtk_widget_hide (glade_xml_get_widget (xml, "sigAddNew")); + gtk_widget_hide (e_builder_get_widget (builder, "signature_dropdown")); + gtk_widget_hide (e_builder_get_widget (builder, "sigAddNew")); } - w = glade_xml_get_widget (xml, item->label); + w = e_builder_get_widget (builder, item->label); if (emae->type == EMAE_PAGES) { gtk_box_pack_start ((GtkBox *)emae->pages[0], w, TRUE, TRUE, 0); - } else if (((EConfig *)gui->config)->type == E_CONFIG_ASSISTANT) { + } else if (((EConfig *)priv->config)->type == E_CONFIG_ASSISTANT) { GtkWidget *page = emae_create_basic_assistant_page (GTK_ASSISTANT (parent), "identity_page", old); gtk_box_pack_start (GTK_BOX (page), w, TRUE, TRUE, 0); @@ -2214,9 +2164,9 @@ emae_identity_page (EConfig *ec, EConfigItem *item, GtkWidget *parent, GtkWidget gtk_notebook_append_page ((GtkNotebook *)parent, w, gtk_label_new (_("Identity"))); } - emae_queue_widgets (emae, xml, "account_vbox", "identity_required_table", "identity_optional_table", NULL); + emae_queue_widgets (emae, builder, "account_vbox", "identity_required_table", "identity_optional_table", NULL); - g_object_unref (xml); + g_object_unref (builder); return w; } @@ -2225,27 +2175,23 @@ static GtkWidget * emae_receive_page (EConfig *ec, EConfigItem *item, GtkWidget *parent, GtkWidget *old, gpointer data) { EMAccountEditor *emae = data; - EMAccountEditorPrivate *gui = emae->priv; + EMAccountEditorPrivate *priv = emae->priv; GtkWidget *w; - GladeXML *xml; - gchar *gladefile; + GtkBuilder *builder; /*if (old) return old;*/ - gladefile = g_build_filename (EVOLUTION_GLADEDIR, - "mail-config.glade", - NULL); - xml = glade_xml_new (gladefile, item->label, NULL); - g_free (gladefile); + builder = gtk_builder_new (); + e_load_ui_builder_definition (builder, "mail-config.ui"); - gui->source.type = CAMEL_PROVIDER_STORE; - emae_setup_service (emae, &gui->source, xml); + priv->source.type = CAMEL_PROVIDER_STORE; + emae_setup_service (emae, &priv->source, builder); - w = glade_xml_get_widget (xml, item->label); + w = e_builder_get_widget (builder, item->label); if (emae->type == EMAE_PAGES) { gtk_box_pack_start ((GtkBox *)emae->pages[1], w, TRUE, TRUE, 0); - } else if (((EConfig *)gui->config)->type == E_CONFIG_ASSISTANT) { + } else if (((EConfig *)priv->config)->type == E_CONFIG_ASSISTANT) { GtkWidget *page = emae_create_basic_assistant_page (GTK_ASSISTANT (parent), "source_page", old); gtk_box_pack_start (GTK_BOX (page), w, TRUE, TRUE, 0); @@ -2255,9 +2201,9 @@ emae_receive_page (EConfig *ec, EConfigItem *item, GtkWidget *parent, GtkWidget gtk_notebook_append_page ((GtkNotebook *)parent, w, gtk_label_new (_("Receiving Email"))); } - emae_queue_widgets (emae, xml, "source_type_table", "table4", "vbox181", "vbox179", NULL); + emae_queue_widgets (emae, builder, "source_type_table", "table4", "vbox181", "vbox179", NULL); - g_object_unref (xml); + g_object_unref (builder); return w; } @@ -2681,31 +2627,27 @@ static GtkWidget * emae_send_page (EConfig *ec, EConfigItem *item, GtkWidget *parent, GtkWidget *old, gpointer data) { EMAccountEditor *emae = data; - EMAccountEditorPrivate *gui = emae->priv; + EMAccountEditorPrivate *priv = emae->priv; GtkWidget *w; - GladeXML *xml; - gchar *gladefile; + GtkBuilder *builder; /* no transport options page at all for these types of providers */ - if (gui->source.provider && CAMEL_PROVIDER_IS_STORE_AND_TRANSPORT(gui->source.provider)) { - memset (&gui->transport.frame, 0, ((gchar *)&gui->transport.check_dialog)-((gchar *)&gui->transport.frame)); + if (priv->source.provider && CAMEL_PROVIDER_IS_STORE_AND_TRANSPORT(priv->source.provider)) { + memset (&priv->transport.frame, 0, ((gchar *)&priv->transport.check_dialog)-((gchar *)&priv->transport.frame)); return NULL; } - gladefile = g_build_filename (EVOLUTION_GLADEDIR, - "mail-config.glade", - NULL); - xml = glade_xml_new (gladefile, item->label, NULL); - g_free (gladefile); + builder = gtk_builder_new (); + e_load_ui_builder_definition (builder, "mail-config.ui"); /* Transport */ - gui->transport.type = CAMEL_PROVIDER_TRANSPORT; - emae_setup_service (emae, &gui->transport, xml); + priv->transport.type = CAMEL_PROVIDER_TRANSPORT; + emae_setup_service (emae, &priv->transport, builder); - w = glade_xml_get_widget (xml, item->label); + w = e_builder_get_widget (builder, item->label); if (emae->type == EMAE_PAGES) { gtk_box_pack_start ((GtkBox *)emae->pages[2], w, TRUE, TRUE, 0); - } else if (((EConfig *)gui->config)->type == E_CONFIG_ASSISTANT) { + } else if (((EConfig *)priv->config)->type == E_CONFIG_ASSISTANT) { GtkWidget *page = emae_create_basic_assistant_page (GTK_ASSISTANT (parent), "transport_page", old); gtk_box_pack_start (GTK_BOX (page), w, TRUE, TRUE, 0); @@ -2715,9 +2657,9 @@ emae_send_page (EConfig *ec, EConfigItem *item, GtkWidget *parent, GtkWidget *ol gtk_notebook_append_page ((GtkNotebook *)parent, w, gtk_label_new (_("Sending Email"))); } - emae_queue_widgets (emae, xml, "transport_type_table", "vbox12", "vbox183", "vbox61", NULL); + emae_queue_widgets (emae, builder, "transport_type_table", "vbox12", "vbox183", "vbox61", NULL); - g_object_unref (xml); + g_object_unref (builder); return w; } @@ -2726,59 +2668,55 @@ static GtkWidget * emae_defaults_page (EConfig *ec, EConfigItem *item, GtkWidget *parent, GtkWidget *old, gpointer data) { EMAccountEditor *emae = data; - EMAccountEditorPrivate *gui = emae->priv; + EMAccountEditorPrivate *priv = emae->priv; EAccount *account; GtkWidget *w; - GladeXML *xml; - gchar *gladefile; + GtkBuilder *builder; /*if (old) return old;*/ account = em_account_editor_get_modified_account (emae); - gladefile = g_build_filename (EVOLUTION_GLADEDIR, - "mail-config.glade", - NULL); - xml = glade_xml_new (gladefile, item->label, NULL); - g_free (gladefile); + builder = gtk_builder_new (); + e_load_ui_builder_definition (builder, "mail-config.ui"); /* Special folders */ - gui->drafts_folder_button = (GtkButton *)emae_account_folder (emae, "drafts_button", E_ACCOUNT_DRAFTS_FOLDER_URI, E_MAIL_FOLDER_DRAFTS, xml); - gui->sent_folder_button = (GtkButton *)emae_account_folder (emae, "sent_button", E_ACCOUNT_SENT_FOLDER_URI, E_MAIL_FOLDER_SENT, xml); + priv->drafts_folder_button = (GtkButton *)emae_account_folder (emae, "drafts_button", E_ACCOUNT_DRAFTS_FOLDER_URI, E_MAIL_FOLDER_DRAFTS, builder); + priv->sent_folder_button = (GtkButton *)emae_account_folder (emae, "sent_button", E_ACCOUNT_SENT_FOLDER_URI, E_MAIL_FOLDER_SENT, builder); /* Special Folders "Reset Defaults" button */ - gui->restore_folders_button = (GtkButton *)glade_xml_get_widget (xml, "default_folders_button"); - g_signal_connect (gui->restore_folders_button, "clicked", G_CALLBACK (default_folders_clicked), emae); + priv->restore_folders_button = (GtkButton *)e_builder_get_widget (builder, "default_folders_button"); + g_signal_connect (priv->restore_folders_button, "clicked", G_CALLBACK (default_folders_clicked), emae); /* Always Cc/Bcc */ - emae_account_toggle (emae, "always_cc", E_ACCOUNT_CC_ALWAYS, xml); - emae_account_entry (emae, "cc_addrs", E_ACCOUNT_CC_ADDRS, xml); - emae_account_toggle (emae, "always_bcc", E_ACCOUNT_BCC_ALWAYS, xml); - emae_account_entry (emae, "bcc_addrs", E_ACCOUNT_BCC_ADDRS, xml); + emae_account_toggle (emae, "always_cc", E_ACCOUNT_CC_ALWAYS, builder); + emae_account_entry (emae, "cc_addrs", E_ACCOUNT_CC_ADDRS, builder); + emae_account_toggle (emae, "always_bcc", E_ACCOUNT_BCC_ALWAYS, builder); + emae_account_entry (emae, "bcc_addrs", E_ACCOUNT_BCC_ADDRS, builder); - gtk_widget_set_sensitive ((GtkWidget *)gui->drafts_folder_button, e_account_writable (account, E_ACCOUNT_DRAFTS_FOLDER_URI)); + gtk_widget_set_sensitive ((GtkWidget *)priv->drafts_folder_button, e_account_writable (account, E_ACCOUNT_DRAFTS_FOLDER_URI)); - gtk_widget_set_sensitive ( (GtkWidget *)gui->sent_folder_button, + gtk_widget_set_sensitive ( (GtkWidget *)priv->sent_folder_button, e_account_writable (account, E_ACCOUNT_SENT_FOLDER_URI) && (emae->priv->source.provider ? !(emae->priv->source.provider->flags & CAMEL_PROVIDER_DISABLE_SENT_FOLDER): TRUE) ); - gtk_widget_set_sensitive ((GtkWidget *)gui->restore_folders_button, + gtk_widget_set_sensitive ((GtkWidget *)priv->restore_folders_button, (e_account_writable (account, E_ACCOUNT_SENT_FOLDER_URI) && ((emae->priv->source.provider && !( emae->priv->source.provider->flags & CAMEL_PROVIDER_DISABLE_SENT_FOLDER)) || e_account_writable (account, E_ACCOUNT_DRAFTS_FOLDER_URI)))); /* Receipt policy */ - emae_setup_receipt_policy (emae, xml); + emae_setup_receipt_policy (emae, builder); - w = glade_xml_get_widget (xml, item->label); + w = e_builder_get_widget (builder, item->label); gtk_notebook_append_page ((GtkNotebook *)parent, w, gtk_label_new (_("Defaults"))); - emae_queue_widgets (emae, xml, "vbox184", "table8", NULL); + emae_queue_widgets (emae, builder, "vbox184", "table8", NULL); - g_object_unref (xml); + g_object_unref (builder); return w; } @@ -2788,61 +2726,57 @@ emae_security_page (EConfig *ec, EConfigItem *item, GtkWidget *parent, GtkWidget { EMAccountEditor *emae = data; #if defined (HAVE_NSS) - EMAccountEditorPrivate *gui = emae->priv; + EMAccountEditorPrivate *priv = emae->priv; #endif GtkWidget *w; - GladeXML *xml; - gchar *gladefile; + GtkBuilder *builder; /*if (old) return old;*/ - gladefile = g_build_filename (EVOLUTION_GLADEDIR, - "mail-config.glade", - NULL); - xml = glade_xml_new (gladefile, item->label, NULL); - g_free (gladefile); + builder = gtk_builder_new (); + e_load_ui_builder_definition (builder, "mail-config.ui"); /* Security */ - emae_account_entry (emae, "pgp_key", E_ACCOUNT_PGP_KEY, xml); - emae_account_toggle (emae, "pgp_encrypt_to_self", E_ACCOUNT_PGP_ENCRYPT_TO_SELF, xml); - emae_account_toggle (emae, "pgp_always_sign", E_ACCOUNT_PGP_ALWAYS_SIGN, xml); - emae_account_toggle (emae, "pgp_no_imip_sign", E_ACCOUNT_PGP_NO_IMIP_SIGN, xml); - emae_account_toggle (emae, "pgp_always_trust", E_ACCOUNT_PGP_ALWAYS_TRUST, xml); + emae_account_entry (emae, "pgp_key", E_ACCOUNT_PGP_KEY, builder); + emae_account_toggle (emae, "pgp_encrypt_to_self", E_ACCOUNT_PGP_ENCRYPT_TO_SELF, builder); + emae_account_toggle (emae, "pgp_always_sign", E_ACCOUNT_PGP_ALWAYS_SIGN, builder); + emae_account_toggle (emae, "pgp_no_imip_sign", E_ACCOUNT_PGP_NO_IMIP_SIGN, builder); + emae_account_toggle (emae, "pgp_always_trust", E_ACCOUNT_PGP_ALWAYS_TRUST, builder); #if defined (HAVE_NSS) /* TODO: this should handle its entry separately? */ - gui->smime_sign_key = emae_account_entry (emae, "smime_sign_key", E_ACCOUNT_SMIME_SIGN_KEY, xml); - gui->smime_sign_key_select = (GtkButton *)glade_xml_get_widget (xml, "smime_sign_key_select"); - gui->smime_sign_key_clear = (GtkButton *)glade_xml_get_widget (xml, "smime_sign_key_clear"); - g_signal_connect (gui->smime_sign_key_select, "clicked", G_CALLBACK(smime_sign_key_select), emae); - g_signal_connect (gui->smime_sign_key_clear, "clicked", G_CALLBACK(smime_sign_key_clear), emae); - - gui->smime_sign_default = emae_account_toggle (emae, "smime_sign_default", E_ACCOUNT_SMIME_SIGN_DEFAULT, xml); - - gui->smime_encrypt_key = emae_account_entry (emae, "smime_encrypt_key", E_ACCOUNT_SMIME_ENCRYPT_KEY, xml); - gui->smime_encrypt_key_select = (GtkButton *)glade_xml_get_widget (xml, "smime_encrypt_key_select"); - gui->smime_encrypt_key_clear = (GtkButton *)glade_xml_get_widget (xml, "smime_encrypt_key_clear"); - g_signal_connect (gui->smime_encrypt_key_select, "clicked", G_CALLBACK(smime_encrypt_key_select), emae); - g_signal_connect (gui->smime_encrypt_key_clear, "clicked", G_CALLBACK(smime_encrypt_key_clear), emae); - - gui->smime_encrypt_default = emae_account_toggle (emae, "smime_encrypt_default", E_ACCOUNT_SMIME_ENCRYPT_DEFAULT, xml); - gui->smime_encrypt_to_self = emae_account_toggle (emae, "smime_encrypt_to_self", E_ACCOUNT_SMIME_ENCRYPT_TO_SELF, xml); + priv->smime_sign_key = emae_account_entry (emae, "smime_sign_key", E_ACCOUNT_SMIME_SIGN_KEY, builder); + priv->smime_sign_key_select = (GtkButton *)e_builder_get_widget (builder, "smime_sign_key_select"); + priv->smime_sign_key_clear = (GtkButton *)e_builder_get_widget (builder, "smime_sign_key_clear"); + g_signal_connect (priv->smime_sign_key_select, "clicked", G_CALLBACK(smime_sign_key_select), emae); + g_signal_connect (priv->smime_sign_key_clear, "clicked", G_CALLBACK(smime_sign_key_clear), emae); + + priv->smime_sign_default = emae_account_toggle (emae, "smime_sign_default", E_ACCOUNT_SMIME_SIGN_DEFAULT, builder); + + priv->smime_encrypt_key = emae_account_entry (emae, "smime_encrypt_key", E_ACCOUNT_SMIME_ENCRYPT_KEY, builder); + priv->smime_encrypt_key_select = (GtkButton *)e_builder_get_widget (builder, "smime_encrypt_key_select"); + priv->smime_encrypt_key_clear = (GtkButton *)e_builder_get_widget (builder, "smime_encrypt_key_clear"); + g_signal_connect (priv->smime_encrypt_key_select, "clicked", G_CALLBACK(smime_encrypt_key_select), emae); + g_signal_connect (priv->smime_encrypt_key_clear, "clicked", G_CALLBACK(smime_encrypt_key_clear), emae); + + priv->smime_encrypt_default = emae_account_toggle (emae, "smime_encrypt_default", E_ACCOUNT_SMIME_ENCRYPT_DEFAULT, builder); + priv->smime_encrypt_to_self = emae_account_toggle (emae, "smime_encrypt_to_self", E_ACCOUNT_SMIME_ENCRYPT_TO_SELF, builder); smime_changed (emae); #else { /* Since we don't have NSS, hide the S/MIME config options */ GtkWidget *frame; - frame = glade_xml_get_widget (xml, "smime_vbox"); + frame = e_builder_get_widget (builder, "smime_vbox"); gtk_widget_destroy (frame); } #endif /* HAVE_NSS */ - w = glade_xml_get_widget (xml, item->label); + w = e_builder_get_widget (builder, item->label); gtk_notebook_append_page ((GtkNotebook *)parent, w, gtk_label_new (_("Security"))); - g_object_unref (xml); + g_object_unref (builder); return w; } @@ -2902,11 +2836,11 @@ static GtkWidget * emae_management_page (EConfig *ec, EConfigItem *item, GtkWidget *parent, GtkWidget *old, gpointer data) { EMAccountEditor *emae = data; - EMAccountEditorPrivate *gui = emae->priv; + EMAccountEditorPrivate *priv = emae->priv; GtkWidget *w; - w = gui->management_frame; - if (((EConfig *)gui->config)->type == E_CONFIG_ASSISTANT) { + w = priv->management_frame; + if (((EConfig *)priv->config)->type == E_CONFIG_ASSISTANT) { GtkWidget *page = emae_create_basic_assistant_page (GTK_ASSISTANT (parent), "management_page", old); gtk_widget_reparent (w, page); @@ -3315,7 +3249,7 @@ emae_editor_destroyed (GtkWidget *dialog, EMAccountEditor *emae) static void em_account_editor_construct (EMAccountEditor *emae, EMAccountEditorType type, const gchar *id) { - EMAccountEditorPrivate *gui = emae->priv; + EMAccountEditorPrivate *priv = emae->priv; EAccount *account; gint i, index; GSList *l; @@ -3328,7 +3262,7 @@ em_account_editor_construct (EMAccountEditor *emae, EMAccountEditorType type, co emae->type = type; /* sort the providers, remote first */ - gui->providers = g_list_sort (camel_provider_list (TRUE), (GCompareFunc)provider_compare); + priv->providers = g_list_sort (camel_provider_list (TRUE), (GCompareFunc)provider_compare); if (type == EMAE_NOTEBOOK) { ec = em_config_new (E_CONFIG_BOOK, id); @@ -3352,7 +3286,7 @@ em_account_editor_construct (EMAccountEditor *emae, EMAccountEditorType type, co } } - emae->config = gui->config = ec; + emae->config = priv->config = ec; l = NULL; for (i=0;items[i].path;i++) l = g_slist_prepend (l, &items[i]); @@ -3362,7 +3296,7 @@ em_account_editor_construct (EMAccountEditor *emae, EMAccountEditorType type, co l = NULL; have = g_hash_table_new (g_str_hash, g_str_equal); index = 20; - for (prov=gui->providers;prov;prov=g_list_next (prov)) { + for (prov=priv->providers;prov;prov=g_list_next (prov)) { CamelProviderConfEntry *entries = ((CamelProvider *)prov->data)->extra_conf; for (i=0;entries && entries[i].type != CAMEL_PROVIDER_CONF_END;i++) { @@ -3400,7 +3334,7 @@ em_account_editor_construct (EMAccountEditor *emae, EMAccountEditorType type, co } g_hash_table_destroy (have); e_config_add_items ((EConfig *)ec, l, NULL, NULL, emae_free_auto, emae); - gui->extra_items = l; + priv->extra_items = l; e_config_add_page_check ((EConfig *)ec, NULL, emae_check_complete, emae); diff --git a/mail/em-filter-editor.c b/mail/em-filter-editor.c index c0e5725e77..ecc1bbcb23 100644 --- a/mail/em-filter-editor.c +++ b/mail/em-filter-editor.c @@ -28,6 +28,7 @@ #include #include +#include "e-util/e-util.h" #include "e-util/e-util-private.h" #include "e-util/gconf-bridge.h" @@ -116,18 +117,14 @@ em_filter_editor_new (EMFilterContext *fc, const EMFilterSource *source_names) { EMFilterEditor *fe; - GladeXML *gui; - gchar *gladefile; + GtkBuilder *builder; fe = g_object_new (EM_TYPE_FILTER_EDITOR, NULL); - gladefile = g_build_filename ( - EVOLUTION_GLADEDIR, "filter.glade", NULL); - gui = glade_xml_new (gladefile, "rule_editor", NULL); - g_free (gladefile); - - em_filter_editor_construct (fe, fc, gui, source_names); - g_object_unref (gui); + builder = gtk_builder_new (); + e_load_ui_builder_definition (builder, "filter.ui"); + em_filter_editor_construct (fe, fc, builder, source_names); + g_object_unref (builder); return fe; } @@ -164,7 +161,7 @@ select_source (GtkComboBox *combobox, EMFilterEditor *fe) void em_filter_editor_construct (EMFilterEditor *fe, EMFilterContext *fc, - GladeXML *gui, + GtkBuilder *builder, const EMFilterSource *source_names) { GtkWidget *combobox; @@ -172,7 +169,7 @@ em_filter_editor_construct (EMFilterEditor *fe, GtkTreeViewColumn *column; GSList *sources = NULL; - combobox = glade_xml_get_widget (gui, "filter_source_combobox"); + combobox = e_builder_get_widget (builder, "filter_source_combobox"); gtk_list_store_clear (GTK_LIST_STORE (gtk_combo_box_get_model (GTK_COMBO_BOX (combobox)))); for (i = 0; source_names[i].source; i++) { @@ -185,7 +182,7 @@ em_filter_editor_construct (EMFilterEditor *fe, g_object_set_data_full (G_OBJECT (combobox), "sources", sources, free_sources); gtk_widget_show (combobox); - e_rule_editor_construct ((ERuleEditor *) fe, (ERuleContext *) fc, gui, source_names[0].source, _("_Filter Rules")); + e_rule_editor_construct ((ERuleEditor *) fe, (ERuleContext *) fc, builder, source_names[0].source, _("_Filter Rules")); /* Show the Enabled column, we support it here */ column = gtk_tree_view_get_column (GTK_TREE_VIEW (E_RULE_EDITOR (fe)->list), 0); diff --git a/mail/em-filter-editor.h b/mail/em-filter-editor.h index e70b346d02..3df5b75dc8 100644 --- a/mail/em-filter-editor.h +++ b/mail/em-filter-editor.h @@ -72,7 +72,7 @@ EMFilterEditor *em_filter_editor_new (EMFilterContext *f, const EMFilterSource *source_names); void em_filter_editor_construct (EMFilterEditor *fe, EMFilterContext *fc, - GladeXML *gui, + GtkBuilder *builder, const EMFilterSource *source_names); #endif /* EM_FILTER_EDITOR_H */ diff --git a/mail/em-format-html-display.c b/mail/em-format-html-display.c index 7b79d8858a..f2f001e23a 100644 --- a/mail/em-format-html-display.c +++ b/mail/em-format-html-display.c @@ -41,8 +41,6 @@ #include #include -#include - #include #include @@ -277,22 +275,19 @@ efhd_xpkcs7mime_validity_clicked (GtkWidget *button, EMFormatHTMLPObject *pobject) { struct _smime_pobject *po = (struct _smime_pobject *)pobject; - GladeXML *xml; + GtkBuilder *builder; GtkWidget *vbox, *w; - gchar *gladefile; if (po->widget) /* FIXME: window raise? */ return; - gladefile = g_build_filename ( - EVOLUTION_GLADEDIR, "mail-dialogs.glade", NULL); - xml = glade_xml_new (gladefile, "message_security_dialog", NULL); - g_free (gladefile); + builder = gtk_builder_new (); + e_load_ui_builder_definition (builder, "mail-dialogs.ui"); - po->widget = glade_xml_get_widget(xml, "message_security_dialog"); + po->widget = e_builder_get_widget(builder, "message_security_dialog"); - vbox = glade_xml_get_widget(xml, "signature_vbox"); + vbox = e_builder_get_widget(builder, "signature_vbox"); w = gtk_label_new (_(smime_sign_table[po->valid->sign.status].description)); gtk_misc_set_alignment((GtkMisc *)w, 0.0, 0.5); gtk_label_set_line_wrap((GtkLabel *)w, TRUE); @@ -324,7 +319,7 @@ efhd_xpkcs7mime_validity_clicked (GtkWidget *button, gtk_widget_show_all(vbox); - vbox = glade_xml_get_widget(xml, "encryption_vbox"); + vbox = e_builder_get_widget(builder, "encryption_vbox"); w = gtk_label_new(_(smime_encrypt_table[po->valid->encrypt.status].description)); gtk_misc_set_alignment((GtkMisc *)w, 0.0, 0.5); gtk_label_set_line_wrap((GtkLabel *)w, TRUE); @@ -356,7 +351,7 @@ efhd_xpkcs7mime_validity_clicked (GtkWidget *button, gtk_widget_show_all(vbox); - g_object_unref(xml); + g_object_unref(builder); g_signal_connect(po->widget, "response", G_CALLBACK(efhd_xpkcs7mime_info_response), po); gtk_widget_show(po->widget); diff --git a/mail/em-subscribe-editor.c b/mail/em-subscribe-editor.c index b6d7404795..76fec73616 100644 --- a/mail/em-subscribe-editor.c +++ b/mail/em-subscribe-editor.c @@ -34,6 +34,7 @@ #include "camel/camel-store.h" #include "camel/camel-session.h" +#include "e-util/e-util.h" #include "e-util/e-account-utils.h" #include "e-util/e-util-private.h" @@ -41,7 +42,6 @@ #include "mail-config.h" -#include #include #define d(x) @@ -820,34 +820,27 @@ em_subscribe_editor_new(void) EMSubscribeEditor *se; EAccountList *accounts; EIterator *iter; - GladeXML *xml; + GtkBuilder *builder; GtkWidget *w; GtkCellRenderer *cell; GtkListStore *store; GtkTreeIter gtiter; - gchar *gladefile; se = g_malloc0(sizeof(*se)); g_queue_init (&se->stores); - gladefile = g_build_filename (EVOLUTION_GLADEDIR, - "mail-dialogs.glade", - NULL); - xml = glade_xml_new (gladefile, "subscribe_dialog", NULL); - g_free (gladefile); + /* XXX I think we're leaking the GtkBuilder. */ + builder = gtk_builder_new (); + e_load_ui_builder_definition (builder, "mail-dialogs.ui"); - if (xml == NULL) { - /* ?? */ - return NULL; - } - se->dialog = (GtkDialog *)glade_xml_get_widget (xml, "subscribe_dialog"); + se->dialog = (GtkDialog *)e_builder_get_widget (builder, "subscribe_dialog"); g_signal_connect(se->dialog, "destroy", G_CALLBACK(sub_editor_destroy), se); gtk_widget_ensure_style ((GtkWidget *)se->dialog); gtk_container_set_border_width ((GtkContainer *) ((GtkDialog *)se->dialog)->action_area, 12); gtk_container_set_border_width ((GtkContainer *) ((GtkDialog *)se->dialog)->vbox, 0); - se->vbox = glade_xml_get_widget(xml, "tree_box"); + se->vbox = e_builder_get_widget(builder, "tree_box"); /* FIXME: This is just to get the shadow, is there a better way? */ w = gtk_label_new(_("Please select a server.")); @@ -859,17 +852,17 @@ em_subscribe_editor_new(void) gtk_box_pack_start((GtkBox *)se->vbox, se->none_selected, TRUE, TRUE, 0); gtk_widget_show(se->none_selected); - se->progress = glade_xml_get_widget(xml, "progress_bar"); + se->progress = e_builder_get_widget(builder, "progress_bar"); gtk_widget_hide(se->progress); - w = glade_xml_get_widget(xml, "close_button"); + w = e_builder_get_widget(builder, "close_button"); g_signal_connect(w, "clicked", G_CALLBACK(sub_editor_close), se); - w = glade_xml_get_widget(xml, "refresh_button"); + w = e_builder_get_widget(builder, "refresh_button"); g_signal_connect(w, "clicked", G_CALLBACK(sub_editor_refresh), se); /* setup stores combobox */ - se->combobox = glade_xml_get_widget (xml, "store_combobox"); + se->combobox = e_builder_get_widget (builder, "store_combobox"); store = gtk_list_store_new (2, G_TYPE_STRING, G_TYPE_BOOLEAN); gtk_combo_box_set_model (GTK_COMBO_BOX (se->combobox), GTK_TREE_MODEL (store)); g_object_unref (store); diff --git a/mail/em-utils.c b/mail/em-utils.c index 0cd4ed576c..407c686a21 100644 --- a/mail/em-utils.c +++ b/mail/em-utils.c @@ -58,13 +58,14 @@ #include "mail-ops.h" #include "mail-tools.h" #include "mail-config.h" -#include "message-tag-followup.h" +#include "e-mail-tag-editor.h" #include #include #include #include "e-util/e-util.h" #include "e-util/e-util-private.h" +#include "e-util/e-binding.h" #include "e-util/e-mktemp.h" #include "e-util/e-account-utils.h" #include "e-util/e-dialog-utils.h" @@ -361,7 +362,10 @@ em_utils_flag_for_followup (EMailReader *reader, GPtrArray *uids) { EMFormatHTMLDisplay *html_display; - MessageTagEditor *editor; + EShellSettings *shell_settings; + EShellBackend *shell_backend; + EShell *shell; + GtkWidget *editor; GtkWindow *parent; CamelTag *tags; gint i; @@ -370,10 +374,22 @@ em_utils_flag_for_followup (EMailReader *reader, g_return_if_fail (CAMEL_IS_FOLDER (folder)); g_return_if_fail (uids != NULL); - editor = message_tag_followup_new (); + editor = e_mail_tag_editor_new (); parent = e_mail_reader_get_window (reader); gtk_window_set_transient_for (GTK_WINDOW (editor), parent); + shell_backend = e_mail_reader_get_shell_backend (reader); + shell = e_shell_backend_get_shell (shell_backend); + shell_settings = e_shell_get_shell_settings (shell); + + /* These settings come from the calendar module. */ + e_binding_new ( + shell_settings, "cal-use-24-hour-format", + editor, "use-24-hour-format"); + e_binding_new ( + shell_settings, "cal-week-start-day", + editor, "week-start-day"); + for (i = 0; i < uids->len; i++) { CamelMessageInfo *info; @@ -382,8 +398,8 @@ em_utils_flag_for_followup (EMailReader *reader, if (info == NULL) continue; - message_tag_followup_append_message ( - MESSAGE_TAG_FOLLOWUP (editor), + e_mail_tag_editor_add_message ( + E_MAIL_TAG_EDITOR (editor), camel_message_info_from (info), camel_message_info_subject (info)); @@ -399,7 +415,8 @@ em_utils_flag_for_followup (EMailReader *reader, tags = (CamelTag *) camel_message_info_user_tags (info); if (tags) - message_tag_editor_set_tag_list (editor, tags); + e_mail_tag_editor_set_tag_list ( + E_MAIL_TAG_EDITOR (editor), tags); camel_message_info_free (info); } } @@ -407,7 +424,7 @@ em_utils_flag_for_followup (EMailReader *reader, if (gtk_dialog_run (GTK_DIALOG (editor)) != GTK_RESPONSE_OK) goto exit; - tags = message_tag_editor_get_tag_list (editor); + tags = e_mail_tag_editor_get_tag_list (E_MAIL_TAG_EDITOR (editor)); if (tags == NULL) goto exit; diff --git a/mail/em-vfolder-editor.c b/mail/em-vfolder-editor.c index 073a4c5c90..0522e4925c 100644 --- a/mail/em-vfolder-editor.c +++ b/mail/em-vfolder-editor.c @@ -30,6 +30,7 @@ #include #include +#include "e-util/e-util.h" #include "e-util/e-util-private.h" #include "e-util/gconf-bridge.h" @@ -113,20 +114,17 @@ GtkWidget * em_vfolder_editor_new (EMVFolderContext *vc) { EMVFolderEditor *ve; - GladeXML *gui; - gchar *gladefile; + GtkBuilder *builder; ve = g_object_new (EM_TYPE_VFOLDER_EDITOR, NULL); - gladefile = g_build_filename ( - EVOLUTION_GLADEDIR, "filter.glade", NULL); - gui = glade_xml_new (gladefile, "rule_editor", NULL); - g_free (gladefile); + builder = gtk_builder_new (); + e_load_ui_builder_definition (builder, "filter.ui"); - e_rule_editor_construct ((ERuleEditor *) ve, (ERuleContext *) vc, gui, "incoming", _("Search _Folders")); - gtk_widget_hide (glade_xml_get_widget (gui, "label17")); - gtk_widget_hide (glade_xml_get_widget (gui, "filter_source_combobox")); - g_object_unref (gui); + e_rule_editor_construct ((ERuleEditor *) ve, (ERuleContext *) vc, builder, "incoming", _("Search _Folders")); + gtk_widget_hide (e_builder_get_widget (builder, "label17")); + gtk_widget_hide (e_builder_get_widget (builder, "filter_source_combobox")); + g_object_unref (builder); return GTK_WIDGET (ve); } diff --git a/mail/em-vfolder-rule.c b/mail/em-vfolder-rule.c index 50016d095d..4b44ffc41c 100644 --- a/mail/em-vfolder-rule.c +++ b/mail/em-vfolder-rule.c @@ -28,7 +28,6 @@ #include #include -#include #include #include "camel/camel-url.h" @@ -38,6 +37,8 @@ #include "mail/em-utils.h" #include "mail/em-folder-tree.h" #include "mail/em-folder-selector.h" + +#include "e-util/e-util.h" #include "e-util/e-error.h" #include "e-util/e-util-private.h" @@ -569,59 +570,18 @@ source_remove(GtkWidget *widget, struct _source_data *data) set_sensitive(data); } -GtkWidget *em_vfolder_editor_sourcelist_new(gchar *widget_name, gchar *string1, gchar *string2, - gint int1, gint int2); - -GtkWidget * -em_vfolder_editor_sourcelist_new(gchar *widget_name, gchar *string1, gchar *string2, gint int1, gint int2) -{ - GtkWidget *table, *scrolled; - GtkTreeSelection *selection; - GtkCellRenderer *renderer; - GtkListStore *model; - - scrolled = gtk_scrolled_window_new(NULL, NULL); - gtk_scrolled_window_set_shadow_type(GTK_SCROLLED_WINDOW(scrolled), GTK_SHADOW_IN); - gtk_scrolled_window_set_policy(GTK_SCROLLED_WINDOW(scrolled), - GTK_POLICY_AUTOMATIC, GTK_POLICY_AUTOMATIC); - - model = gtk_list_store_new(2, G_TYPE_STRING, G_TYPE_POINTER); - table = gtk_tree_view_new_with_model((GtkTreeModel *)model); - gtk_tree_view_set_headers_visible((GtkTreeView *)table, FALSE); - - renderer = gtk_cell_renderer_text_new(); - gtk_tree_view_insert_column_with_attributes((GtkTreeView *)table, -1, - _("Search Folder source"), renderer, - "text", 0, NULL); - - selection = gtk_tree_view_get_selection((GtkTreeView *)table); - gtk_tree_selection_set_mode(selection, GTK_SELECTION_SINGLE); - - gtk_container_add(GTK_CONTAINER(scrolled), table); - - g_object_set_data((GObject *)scrolled, "table", table); - g_object_set_data((GObject *)scrolled, "model", model); - - gtk_widget_show(scrolled); - gtk_widget_show(table); - - g_object_unref (model); - - return scrolled; -} - static GtkWidget * get_widget(EFilterRule *fr, ERuleContext *rc) { EMVFolderRule *vr =(EMVFolderRule *)fr; - GtkWidget *widget, *frame, *list; + GtkWidget *widget, *frame; struct _source_data *data; GtkRadioButton *rb; const gchar *source; GtkTreeIter iter; - GladeXML *gui; + GtkBuilder *builder; + GObject *object; gint i; - gchar *gladefile; widget = E_FILTER_RULE_CLASS(parent_class)->get_widget(fr, rc); @@ -629,24 +589,22 @@ get_widget(EFilterRule *fr, ERuleContext *rc) data->rc = rc; data->vr = vr; - gladefile = g_build_filename (EVOLUTION_GLADEDIR, - "mail-dialogs.glade", - NULL); - gui = glade_xml_new(gladefile, "vfolder_source_frame", NULL); - g_free (gladefile); + builder = gtk_builder_new (); + e_load_ui_builder_definition (builder, "mail-dialogs.ui"); - frame = glade_xml_get_widget(gui, "vfolder_source_frame"); + frame = e_builder_get_widget(builder, "vfolder_source_frame"); g_object_set_data_full((GObject *)frame, "data", data, g_free); for (i = 0; i < BUTTON_LAST; i++) { - data->buttons[i] =(GtkButton *)glade_xml_get_widget(gui, edit_buttons[i].name); + data->buttons[i] =(GtkButton *)e_builder_get_widget(builder, edit_buttons[i].name); g_signal_connect(data->buttons[i], "clicked", edit_buttons[i].func, data); } - list = glade_xml_get_widget(gui, "source_list"); - data->list =(GtkTreeView *)g_object_get_data((GObject *)list, "table"); - data->model =(GtkListStore *)g_object_get_data((GObject *)list, "model"); + object = gtk_builder_get_object (builder, "source_list"); + data->list = GTK_TREE_VIEW (object); + object = gtk_builder_get_object (builder, "source_model"); + data->model = GTK_LIST_STORE (object); source = NULL; while ((source = em_vfolder_rule_next_source(vr, source))) { @@ -659,19 +617,19 @@ get_widget(EFilterRule *fr, ERuleContext *rc) g_signal_connect(data->list, "cursor-changed", G_CALLBACK(select_source), data); - rb = (GtkRadioButton *)glade_xml_get_widget (gui, "local_rb"); + rb = (GtkRadioButton *)e_builder_get_widget (builder, "local_rb"); g_signal_connect (GTK_WIDGET(rb), "toggled", G_CALLBACK(select_source_with_changed), data); - rb = (GtkRadioButton *)glade_xml_get_widget (gui, "remote_rb"); + rb = (GtkRadioButton *)e_builder_get_widget (builder, "remote_rb"); g_signal_connect (GTK_WIDGET(rb), "toggled", G_CALLBACK(select_source_with_changed), data); - rb = (GtkRadioButton *)glade_xml_get_widget (gui, "local_and_remote_rb"); + rb = (GtkRadioButton *)e_builder_get_widget (builder, "local_and_remote_rb"); g_signal_connect (GTK_WIDGET(rb), "toggled", G_CALLBACK(select_source_with_changed), data); - rb = (GtkRadioButton *)glade_xml_get_widget (gui, "specific_rb"); + rb = (GtkRadioButton *)e_builder_get_widget (builder, "specific_rb"); g_signal_connect (GTK_WIDGET(rb), "toggled", G_CALLBACK(select_source_with_changed), data); - data->source_selector = (GtkWidget *)glade_xml_get_widget (gui, "source_selector"); + data->source_selector = (GtkWidget *)e_builder_get_widget (builder, "source_selector"); rb = g_slist_nth_data(gtk_radio_button_get_group (rb), vr->with); gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (rb), TRUE); @@ -679,7 +637,7 @@ get_widget(EFilterRule *fr, ERuleContext *rc) set_sensitive(data); - g_object_unref(gui); + g_object_unref(builder); gtk_box_pack_start(GTK_BOX(widget), frame, TRUE, TRUE, 3); diff --git a/mail/mail-config.c b/mail/mail-config.c index 55a94efdca..7f0fa42504 100644 --- a/mail/mail-config.c +++ b/mail/mail-config.c @@ -40,7 +40,6 @@ #include #include -#include #include #include diff --git a/mail/mail-config.glade b/mail/mail-config.glade deleted file mode 100644 index dd6a51d1b6..0000000000 --- a/mail/mail-config.glade +++ /dev/null @@ -1,5575 +0,0 @@ - - - - - - - - Account Editor - - - True - True - 12 - - - True - 12 - vertical - 12 - - - True - vertical - 6 - - - True - 0 - <span weight="bold">Account Information</span> - True - - - False - False - 0 - - - - - True - 12 - - - True - - - False - False - 0 - - - - - True - 6 - 2 - - - True - 6 - - - True - 0 - Type the name by which you would like to refer to this account. -For example: "Work" or "Personal" - True - - - False - 0 - - - - - True - 12 - - - True - _Name: - True - right - management_name - - - False - False - 0 - - - - - True - True - True - - - 1 - - - - - False - 1 - - - - - - - 1 - - - - - 1 - - - - - False - False - 0 - - - - - True - vertical - 6 - - - True - 0 - <span weight="bold">Required Information</span> - True - - - False - False - 0 - - - - - True - 12 - - - True - - - False - False - 0 - - - - - True - 6 - 2 - - - True - 2 - 2 - 12 - 6 - - - True - True - - - - - - - 1 - 2 - 1 - 2 - - - - - - True - 0 - Email _Address: - True - identity_address - - - 1 - 2 - GTK_FILL - - - - - - True - 0 - Full Nam_e: - True - identity_full_name - - - GTK_FILL - - - - - - True - True - - - - - - - 1 - 2 - - - - - - - - 1 - - - - - 1 - - - - - False - False - 1 - - - - - True - vertical - 6 - - - True - 0 - <span weight="bold">Optional Information</span> - True - - - False - False - 0 - - - - - True - 12 - - - True - - - False - False - 0 - - - - - True - 4 - 2 - 12 - 6 - - - True - 0 - Signat_ure: - True - signature_dropdown - - - 3 - 4 - GTK_FILL - - - - - - True - 6 - - - True - em_account_editor_dropdown_new - - - False - False - 0 - - - - - Add Ne_w Signature... - True - True - False - True - - - - False - False - end - 1 - - - - - 1 - 2 - 3 - 4 - GTK_FILL - GTK_FILL - - - - - True - True - - - - - - - 1 - 2 - 2 - 3 - - - - - - True - 0 - Or_ganization: - True - identity_organization - - - 2 - 3 - GTK_FILL - - - - - - True - True - - - - - - - 1 - 2 - 1 - 2 - - - - - - True - 0 - Re_ply-To: - True - center - identity_reply_to - - - 1 - 2 - GTK_FILL - - - - - - _Make this my default account - True - True - False - True - True - - - 2 - GTK_FILL - GTK_FILL - - - - - 1 - - - - - 1 - - - - - False - False - 2 - - - - - - - True - Identity - True - center - - - False - tab - - - - - True - 12 - vertical - 12 - - - True - vertical - 12 - - - True - 2 - 3 - 12 - 6 - - - True - 0 - Server _Type: - True - right - source_type_dropdown - - - GTK_FILL - - - - - - True - 0 - 0 - Description: - center - - - 1 - 2 - GTK_FILL - - - - - - True - 0 - 0 - description - True - - - 1 - 3 - 1 - 2 - GTK_FILL - - - - - - True - em_account_editor_dropdown_new - - - 1 - 3 - GTK_FILL - - - - - - False - False - 0 - - - - - True - - - False - False - 1 - - - - - True - 6 - - - True - 0 - <span weight="bold">Configuration</span> - True - - - False - False - 0 - - - - - True - 12 - - - True - - - False - False - 0 - - - - - True - 6 - 2 - - - True - 3 - 2 - 12 - 6 - - - True - 0 - _Server: - True - source_host - - - GTK_FILL - - - - - - True - 0 - User_name: - True - source_user - - - 1 - 2 - GTK_FILL - - - - - - True - True - - - 1 - 2 - - - - - - True - True - - - 1 - 2 - 1 - 2 - - - - - - True - 0 - _Path: - True - - - 2 - 3 - GTK_FILL - - - - - - True - Mailbox location - - - 1 - 2 - 2 - 3 - - - - - - - - 1 - - - - - 1 - - - - - False - False - 2 - - - - - True - 6 - - - True - 0 - <span weight="bold">Security</span> - True - source_auth_dropdown - - - False - False - 0 - - - - - True - 12 - - - True - - - False - False - 0 - - - - - True - 6 - - - True - 12 - - - True - _Use Secure Connection: - True - center - source_use_ssl - - - False - False - 0 - - - - - True - em_account_editor_ssl_selector_new - - - False - False - 1 - - - - - False - False - 0 - - - - - True - 6 - - - True - gtk-dialog-warning - - - False - False - 0 - - - - - True - 0 - <b>SSL is not supported in this build of Evolution</b> - True - center - - - False - False - 1 - - - - - 1 - - - - - 1 - - - - - 1 - - - - - False - False - 3 - - - - - True - 6 - - - True - 0 - <span weight="bold">_Authentication Type</span> - True - True - source_auth_dropdown - - - False - False - 0 - - - - - True - 12 - - - True - - - False - False - 0 - - - - - True - 6 - - - True - 6 - - - True - em_account_editor_dropdown_new - - - False - False - 0 - - - - - Ch_eck for Supported Types - True - True - False - True - - - False - False - 1 - - - - - 0 - - - - - Re_member password - True - True - False - Note: you will not be prompted for a password until you connect for the first time - True - True - - - False - False - 1 - - - - - 1 - - - - - 1 - - - - - False - False - 4 - - - - - 0 - - - - - 1 - - - - - True - Receiving Email - True - center - - - 1 - False - tab - - - - - True - 12 - vertical - 12 - - - True - vertical - 12 - - - True - 2 - 3 - 12 - 6 - - - True - 0 - 0 - Server _Type: - True - right - transport_type_dropdown - - - GTK_FILL - - - - - - True - 0 - 0 - Description: - right - - - 1 - 2 - GTK_FILL - - - - - True - em_account_editor_dropdown_new - - - 1 - 3 - GTK_FILL - - - - - - True - 0 - 0 - description - True - - - 1 - 3 - 1 - 2 - GTK_FILL - - - - - - 0 - - - - - True - - - False - 1 - - - - - True - vertical - 12 - - - True - 6 - - - True - 0 - <span weight="bold">Server Configuration</span> - True - - - False - False - 0 - - - - - True - 12 - - - True - - - False - False - 0 - - - - - True - 6 - 2 - - - True - vertical - 6 - - - True - 2 - 12 - 6 - - - True - 1 - _Server: - True - right - transport_host - - - GTK_FILL - - - - - - True - True - - - 1 - 2 - - - - - - False - 0 - - - - - Ser_ver requires authentication - True - True - False - True - True - - - False - False - 1 - - - - - - - 1 - - - - - 1 - - - - - 0 - - - - - True - 6 - - - True - 0 - <span weight="bold">Security</span> - True - - - False - False - 0 - - - - - True - 12 - - - True - - - False - False - 0 - - - - - True - 6 - - - True - 12 - - - True - _Use Secure Connection: - True - center - transport_use_ssl - - - False - False - 0 - - - - - True - em_account_editor_ssl_selector_new - - - False - False - 1 - - - - - 0 - - - - - True - 6 - - - True - gtk-dialog-warning - - - False - False - 0 - - - - - True - 0 - <b>SSL is not supported in this build of Evolution</b> - True - center - - - False - False - 1 - - - - - 1 - - - - - 1 - - - - - 1 - - - - - 1 - - - - - True - 6 - - - True - 0 - <span weight="bold">Authentication</span> - True - - - False - False - 0 - - - - - True - 12 - - - True - - - False - False - 0 - - - - - True - 6 - 2 - - - True - 6 - - - True - 2 - 2 - 12 - 6 - - - True - 0 - T_ype: - True - center - transport_auth_dropdown - - - GTK_FILL - - - - - - True - 0 - User_name: - True - right - transport_user - - - 1 - 2 - GTK_FILL - - - - - - True - True - - - 1 - 2 - 1 - 2 - - - - - - True - 6 - - - True - em_account_editor_dropdown_new - - - False - False - 0 - - - - - Ch_eck for Supported Types - True - True - False - True - - - False - False - 1 - - - - - True - - - 2 - - - - - 1 - 2 - GTK_FILL - - - - - False - 0 - - - - - Remember _password - True - True - False - True - True - - - False - False - 1 - - - - - - - 1 - - - - - 1 - - - - - 2 - - - - - 2 - - - - - False - False - 0 - - - - - 2 - - - - - True - Sending Mail - True - center - - - 2 - False - tab - - - - - True - 12 - vertical - 12 - - - True - vertical - 6 - - - True - 0 - <span weight="bold">Sent and Draft Messages</span> - True - - - False - False - 0 - - - - - True - 12 - - - True - - - False - False - 0 - - - - - True - 6 - 2 - - - True - vertical - 6 - - - True - 3 - 3 - 12 - 6 - - - True - 0 - Drafts _Folder: - True - drafts_button - - - GTK_FILL - - - - - - True - 0 - Sent _Messages Folder: - True - sent_button - - - 1 - 2 - GTK_FILL - - - - - - True - em_account_editor_folder_selector_button_new - Select Sent Folder - - - 1 - 2 - 1 - 2 - GTK_FILL - GTK_FILL - - - - - True - em_account_editor_folder_selector_button_new - Select Drafts Folder - - - 1 - 2 - GTK_FILL - - - - - True - - - 2 - 3 - GTK_FILL - - - - - True - - - 2 - 3 - 1 - 2 - GTK_FILL - GTK_FILL - - - - - True - - - gtk-revert-to-saved - True - True - False - True - - - False - False - 0 - - - - - True - - - 1 - - - - - 1 - 3 - 2 - 3 - - - - - - - - 0 - - - - - - - 1 - - - - - 1 - - - - - False - False - 0 - - - - - True - vertical - 6 - - - True - 0 - <span weight="bold">Composing Messages</span> - True - - - False - False - 0 - - - - - True - 12 - - - True - - - False - False - 0 - - - - - True - 6 - 2 - - - True - 2 - 12 - 6 - - - True - vertical - 6 - - - Alway_s carbon-copy (cc) to: - True - True - False - True - True - - - False - False - 0 - - - - - True - - - True - 12 - - - False - False - 0 - - - - - True - 6 - 2 - - - True - vertical - 6 - - - True - True - - - 0 - - - - - - - 1 - - - - - 1 - - - - - - - True - vertical - 6 - - - Always _blind carbon-copy (bcc) to: - True - True - False - True - True - - - False - False - 0 - - - - - True - - - True - 12 - - - False - False - 0 - - - - - True - 6 - 2 - - - True - vertical - 6 - - - True - True - - - 0 - - - - - - - 1 - - - - - 1 - - - - - 1 - 2 - - - - - - - 1 - - - - - 1 - - - - - False - False - 1 - - - - - True - vertical - 6 - - - True - 0 - <span weight="bold">Message Receipts</span> - True - - - False - False - 0 - - - - - True - 12 - - - True - - - False - False - 0 - - - - - True - 12 - - - True - S_end message receipts: - True - receipt_policy_dropdown - - - False - False - 0 - - - - - True - - - - 1 - - - - - 1 - - - - - False - False - 1 - - - - - 2 - - - - - 3 - - - - - True - Defaults - True - center - - - 3 - False - tab - - - - - True - 12 - vertical - 12 - - - True - vertical - 6 - - - True - 0 - <span weight="bold">Pretty Good Privacy (PGP/GPG)</span> - True - - - False - False - 0 - - - - - True - 12 - - - True - - - False - False - 0 - - - - - True - 6 - 2 - - - True - vertical - 6 - - - True - 12 - - - True - 0 - PGP/GPG _Key ID: - True - pgp_key - - - False - False - 0 - - - - - True - True - - - 1 - - - - - False - False - 0 - - - - - Al_ways sign outgoing messages when using this account - True - True - False - True - True - - - False - False - 1 - - - - - _Do not sign meeting requests (for Outlook compatibility) - True - True - False - True - True - - - False - False - 2 - - - - - Always encrypt to _myself when sending encrypted messages - True - True - False - True - True - True - - - False - False - 3 - - - - - Always _trust keys in my keyring when encrypting - True - True - False - True - True - - - False - False - 4 - - - - - - - 1 - - - - - 1 - - - - - False - False - 0 - - - - - True - vertical - 6 - - - True - 0 - <span weight="bold">Secure MIME (S/MIME)</span> - True - - - False - False - 0 - - - - - True - 12 - - - True - - - False - False - 0 - - - - - True - 6 - 3 - 12 - 6 - - - True - True - - - 1 - 2 - 1 - 2 - - - - - - True - True - - - 1 - 2 - 5 - 6 - - - - - - Also encrypt to sel_f when sending encrypted messages - True - True - False - True - True - - - 3 - 4 - 5 - GTK_FILL - - - - - - Encrypt out_going messages (by default) - True - True - False - True - True - - - 3 - 3 - 4 - GTK_FILL - - - - - - Digitally sign o_utgoing messages (by default) - True - True - False - True - True - - - 3 - GTK_FILL - - - - - - True - - - 3 - 2 - 3 - GTK_FILL - GTK_FILL - 6 - - - - - True - 0 - Encry_ption certificate: - True - smime_encrypt_key - - - 5 - 6 - GTK_FILL - - - - - - True - 0 - Sig_ning certificate: - True - smime_sign_key - - - 1 - 2 - GTK_FILL - - - - - - True - 6 - - - True - True - False - - - True - 0 - 0 - - - True - 2 - - - True - gtk-open - - - False - False - 0 - - - - - True - S_elect... - True - - - False - False - 1 - - - - - - - - - False - False - 0 - - - - - True - True - False - - - True - 0 - 0 - - - True - 2 - - - True - gtk-clear - - - False - False - 0 - - - - - True - Clea_r - True - - - False - False - 1 - - - - - - - - - False - False - 1 - - - - - 2 - 3 - 5 - 6 - GTK_FILL - GTK_FILL - - - - - True - 6 - - - True - True - False - - - True - 0 - 0 - - - True - 2 - - - True - gtk-open - - - False - False - 0 - - - - - True - _Select... - True - - - False - False - 1 - - - - - - - - - False - False - 0 - - - - - True - True - False - - - True - 0 - 0 - - - True - 2 - - - True - gtk-clear - - - False - False - 0 - - - - - True - Cle_ar - True - - - False - False - 1 - - - - - - - - - False - False - 1 - - - - - 2 - 3 - 1 - 2 - GTK_FILL - GTK_FILL - - - - - 1 - - - - - 1 - - - - - False - False - 1 - - - - - 4 - - - - - True - Security - True - center - - - 4 - False - tab - - - - - - - Mail Preferences - - - True - True - True - - - True - 12 - vertical - 12 - - - True - vertical - 6 - - - True - 0 - <span weight="bold">Message Fonts</span> - True - - - False - False - 0 - - - - - True - 12 - - - True - - - False - False - 0 - - - - - True - 6 - 2 - - - True - vertical - 6 - - - _Use the same fonts as other applications - True - True - False - True - True - - - False - False - 0 - - - - - True - 2 - 2 - 6 - 6 - - - True - 0 - S_tandard Font: - True - right - FontVariable - - - GTK_FILL - - - - - - True - True - False - Select HTML fixed width font - - - - 1 - 2 - 1 - 2 - GTK_FILL - - - - - - True - True - False - Select HTML variable width font - - - - 1 - 2 - GTK_FILL - - - - - - True - 0 - Fix_ed width Font: - True - right - FontFixed - - - 1 - 2 - GTK_FILL - - - - - - 1 - - - - - - - 1 - - - - - 1 - - - - - False - False - 0 - - - - - True - vertical - 6 - - - True - 0 - <span weight="bold">Message Display</span> - True - - - False - False - 0 - - - - - True - 12 - - - True - - - False - False - 0 - - - - - True - 6 - 2 - - - True - vertical - 6 - - - True - 6 - - - _Mark messages as read after - True - True - False - True - True - - - False - False - 0 - - - - - True - True - 1.5 0 10 1 1 0 - 1 - 1 - True - if-valid - - - False - False - 1 - - - - - True - seconds - center - - - False - False - 2 - - - - - 0 - - - - - True - 4 - - - Do not format messages when text si_ze exceeds - True - True - False - True - True - - - False - False - 0 - - - - - True - True - 0 0 30000 1 10 0 - 1 - - - False - 1 - - - - - True - KB - - - False - False - 2 - - - - - False - False - 1 - - - - - True - - - _Shrink To / Cc / Bcc headers to - True - True - False - True - True - - - False - False - 0 - - - - - True - True - 5 1 100 1 10 0 - 1 - - - False - False - 2 - 1 - - - - - True - addresses - - - False - False - 2 - 2 - - - - - False - False - 2 - - - - - Enable Magic S_pacebar - True - True - False - True - True - - - False - False - 3 - - - - - True - 6 - - - Highlight _quotations with - True - True - False - True - True - True - - - False - False - 0 - - - - - True - True - False - Pick a color - - - False - False - 1 - - - - - True - color - center - - - False - False - 2 - - - - - 4 - - - - - True - 6 - - - True - Default character e_ncoding: - True - center - - - False - False - 0 - - - - - - - - 5 - - - - - True - 6 - - - Enable Sea_rch Folders - True - True - False - True - True - True - - - False - False - 0 - - - - - True - (Note: Requires restart of the application) - center - - - False - False - 1 - - - - - 6 - - - - - - - 1 - - - - - 1 - - - - - False - False - 1 - - - - - True - vertical - 6 - - - True - 0 - <span weight="bold">Delete Mail</span> - True - - - False - False - 0 - - - - - True - 12 - - - True - - - False - False - 0 - - - - - True - 6 - 2 - - - True - vertical - 6 - - - True - 4 - - - Empty trash folders on e_xit - True - True - False - True - True - - - False - False - 0 - - - - - True - a -b - - - False - False - 1 - - - - - 0 - - - - - Confirm _when expunging a folder - True - True - False - True - True - - - False - False - 1 - - - - - - - 1 - - - - - 1 - - - - - False - False - 2 - - - - - - - True - General - True - center - - - False - tab - - - - - True - 12 - vertical - 12 - - - True - 0 - <span weight="bold">General</span> - True - - - False - False - 0 - - - - - True - 12 - - - True - - - False - False - 0 - - - - - True - vertical - 6 - - - _Show image animations - True - True - False - True - True - - - False - False - 0 - - - - - _Prompt on sending HTML mail to contacts that do not want them - True - True - False - True - True - - - False - False - 1 - - - - - False - False - 1 - - - - - False - False - 1 - - - - - True - vertical - 6 - - - True - 0 - <span weight="bold">Loading Images</span> - True - - - False - False - 0 - - - - - True - 12 - - - True - - - False - False - 0 - - - - - True - vertical - 6 - - - _Never load images from the Internet - True - True - False - True - True - - - False - False - 0 - - - - - _Load images in messages from contacts - True - True - False - True - True - radImagesNever - - - False - False - 1 - - - - - _Always load images from the Internet - True - True - False - True - True - radImagesNever - - - False - False - 2 - - - - - False - False - 1 - - - - - False - False - 1 - - - - - False - False - 2 - - - - - 1 - - - - - True - HTML Messages - True - center - - - 1 - False - tab - - - - - True - 12 - vertical - 6 - - - True - 0 - <span weight="bold">Labels</span> - True - - - False - False - 0 - - - - - True - 12 - - - - - - 1 - - - - - 2 - - - - - True - Labels - True - center - - - 2 - False - tab - - - - - True - 12 - vertical - 6 - - - True - vertical - 3 - - - True - - - True - <b>Sender Photograph</b> - True - - - False - False - 0 - - - - - False - False - 0 - - - - - True - vertical - - - True - - - _Show the photograph of sender in the message preview - True - True - False - True - True - - - False - False - 10 - 0 - - - - - False - False - 0 - - - - - True - - - S_earch for sender photograph only in local address books - True - True - False - True - True - - - False - False - 10 - 0 - - - - - False - False - 1 - - - - - False - False - 1 - - - - - False - False - 0 - - - - - True - 0 - <span weight="bold">Displayed Message _Headers</span> - True - True - txtHeaders - - - False - False - 1 - - - - - True - 12 - - - True - - - False - False - 0 - - - - - True - vertical - 12 - - - True - True - - - False - False - 0 - - - - - True - True - automatic - automatic - in - - - True - True - False - - Mail Headers Table - - - - - - 1 - - - - - 1 - - - - - True - vertical - 6 - - - gtk-add - True - False - True - False - True - - - False - False - 0 - - - - - gtk-remove - True - True - False - True - - - False - False - 1 - - - - - False - False - 2 - - - - - 2 - - - - - True - vertical - - - True - 0 - <span weight="bold">Date/Time Format</span> - True - True - txtHeaders - - - False - False - 0 - - - - - True - - - True - 6 - - - False - False - 0 - - - - - True - 3 - - - - - - - - - - - - 1 - - - - - 1 - - - - - False - 3 - - - - - 3 - - - - - True - Headers - True - - - 3 - False - tab - - - - - True - 12 - vertical - 6 - - - True - vertical - - - True - 0 - <span weight="bold">General</span> - True - - - False - False - 0 - - - - - True - 12 - 9 - 3 - - - True - 6 - - - True - _Default junk plugin: - True - default_junk_plugin - - - False - False - 6 - 0 - - - - - True - create_combo_text_widget - - - False - False - 1 - - - - - 7 - 8 - GTK_FILL - - - - - Check incoming _messages for junk - True - True - False - Checks incoming mail messages to be Junk - True - True - - - GTK_FILL - - 4 - - - - - True - 3 - - - True - gtk-info - - - False - False - 0 - - - - - True - True - - - False - False - 1 - - - - - 8 - 9 - GTK_FILL - 15 - - - - - True - 4 - - - Delete junk messages on e_xit - True - True - False - True - True - - - False - False - 0 - - - - - True - a -b - - - False - False - 1 - - - - - 1 - 2 - GTK_FILL - 4 - - - - - Check cu_stom headers for junk - True - True - False - True - True - - - 2 - 3 - GTK_FILL - - 4 - - - - - True - 6 - - - True - True - automatic - automatic - in - - - True - True - - - - - 0 - - - - - True - spread - - - gtk-add - True - True - True - False - True - - - False - False - 0 - - - - - gtk-remove - True - True - True - False - True - - - False - False - 1 - - - - - False - 1 - - - - - 3 - 4 - 22 - - - - - Do not mar_k messages as junk if sender is in my address book - True - True - False - True - True - - - 4 - 5 - GTK_FILL - - 4 - - - - - _Lookup in local address book only - True - True - False - True - True - - - 5 - 6 - GTK_FILL - - 25 - - - - - True - 6 - - - True - gtk-info - - - False - 0 - - - - - True - Option is ignored if a match for custom junk headers is found. - - - False - False - 1 - - - - - 6 - 7 - GTK_FILL - - - - - 1 - - - - - False - False - 0 - - - - - True - vertical - - - False - False - 1 - - - - - 4 - - - - - True - Junk - True - - - 4 - False - tab - - - - - - - Message Composer - - - True - True - - - True - 12 - vertical - 18 - - - True - vertical - 6 - - - True - 0 - <span weight="bold">Default Behavior</span> - True - - - False - False - 0 - - - - - True - - - True - 12 - - - False - False - 0 - - - - - True - 6 - 2 - - - True - vertical - 8 - - - Format messages in _HTML - True - True - False - True - True - - - False - False - 0 - - - - - Automatically insert _emoticon images - True - True - False - True - True - - - False - False - 1 - - - - - Always request rea_d receipt - True - True - False - True - True - - - False - False - 2 - - - - - Start _typing at the bottom on replying - True - True - False - True - True - - - False - False - 3 - - - - - Encode file names in an Outlook/GMail way - True - True - False - True - True - - - False - False - 4 - - - - - True - 3 - 2 - 12 - 6 - - - True - 0 - _Reply style: - True - center - - - 1 - 2 - GTK_FILL - - - - - - True - 7.4505801528346183e-09 - 0 - - - True - - - True - Attachment -Inline (Outlook style) -Quoted -Do not quote - - - 0 - - - - - - - 1 - 2 - 1 - 2 - GTK_FILL - - - - - - True - - - True - Attachment -Inline -Quoted - - - False - False - 0 - - - - - 1 - 2 - GTK_FILL - GTK_FILL - - - - - True - 0 - _Forward style: - True - center - - - GTK_FILL - - - - - - True - C_haracter set: - True - - - 2 - 3 - GTK_FILL - - - - - - True - - - - - - 1 - 2 - 2 - 3 - GTK_FILL - - - - - 5 - - - - - True - 2 - - - True - vertical - 8 - - - True - 0 - 0.47999998927116394 - <b>Top Posting Option</b> (Not Recommended) - True - - - False - False - 0 - - - - - _Keep Signature above the original message on replying - True - True - False - True - True - - - False - False - 1 - - - - - - - - 0 - - - - - 6 - - - - - - - 1 - - - - - 1 - - - - - True - 0 - <span weight="bold">Alerts</span> - True - - - False - False - 2 - - - - - True - vertical - - - True - 12 - - - False - False - 0 - - - - - True - 6 - 2 - - - True - vertical - 6 - - - _Prompt when sending messages with an empty subject line - True - True - False - True - True - - - False - False - 0 - - - - - Pr_ompt when sending messages with only Bcc recipients defined - True - True - False - True - True - - - False - False - 1 - - - - - - - False - False - 1 - - - - - 3 - - - - - False - False - 0 - - - - - - - True - General - True - center - - - False - tab - - - - - True - 12 - vertical - 12 - - - True - vertical - 6 - - - True - 0 - <b>Sig_natures</b> - True - True - - - False - False - 0 - - - - - True - 12 - - - - - - 1 - - - - - 0 - - - - - True - vertical - 6 - - - True - 0 - <b>Preview</b> - True - - - False - False - 0 - - - - - True - 12 - - - True - - - False - False - 0 - - - - - True - False - automatic - automatic - in - - - - - - 1 - - - - - False - False - 1 - - - - - False - False - 1 - - - - - 1 - - - - - True - Signatures - True - center - - - 1 - False - tab - - - - - True - 12 - vertical - 12 - - - True - vertical - 6 - - - True - 0 - <b>_Languages</b> - True - True - listSpellCheckLanguage - - - False - False - 0 - - - - - True - 12 - - - True - - - False - False - 0 - - - - - True - vertical - 6 - - - True - vertical - 6 - - - True - - - True - 6 - - - True - False - automatic - automatic - in - - - True - True - False - - Languages Table - - - - - - 0 - - - - - 0 - - - - - 0 - - - - - True - 6 - - - True - 0 - gtk-dialog-info - - - False - 0 - - - - - True - 0 - The list of languages here reflects only the languages for which you have a dictionary installed. - True - - - 1 - - - - - False - 1 - - - - - 0 - - - - - 1 - - - - - 1 - - - - - 0 - - - - - True - vertical - 6 - - - True - 0 - <span weight="bold">Options</span> - True - - - False - False - 0 - - - - - True - 12 - - - True - - - False - False - 0 - - - - - True - vertical - 6 - - - Check spelling while I _type - True - True - False - True - True - - - False - False - 0 - - - - - True - 6 - - - True - Color for _misspelled words: - True - center - colorButtonSpellCheckColor - - - False - False - 0 - - - - - True - True - False - Pick a color - - - False - False - 1 - - - - - False - 1 - - - - - 1 - - - - - 1 - - - - - False - 1 - - - - - 2 - - - - - True - Spell Checking - True - center - - - 2 - False - tab - - - - - - - Font Properties - - - True - vertical - 12 - - - - - - True - vertical - 6 - - - True - 0 - <span weight="bold">Printed Fonts</span> - True - - - False - False - 0 - - - - - True - - - True - 12 - - - False - False - 0 - - - - - True - 2 - 2 - 12 - 6 - - - True - 0 - V_ariable-width: - True - center - print_variable - - - GTK_FILL - - - - - - True - 0 - Fi_xed-width: - True - center - print_fixed - - - 1 - 2 - GTK_FILL - - - - - - True - True - False - Select HTML fixed width font for printing - - - - 1 - 2 - 1 - 2 - GTK_FILL - - - - - - True - True - False - Select HTML variable width font for printing - - - - 1 - 2 - GTK_FILL - - - - - - 1 - - - - - 1 - - - - - False - False - 1 - - - - - - - normal - False - - - True - vertical - 12 - - - True - vertical - - - True - 12 - vertical - 6 - - - True - 6 - - - True - 0 - gtk-dialog-info - 6 - - - 0 - - - - - True - 0 - The output of this script will be used as your -signature. The name you specify will be used -for display purposes only. - True - - - False - False - 1 - - - - - False - False - 0 - - - - - True - 2 - 2 - 6 - 6 - - - True - 0 - _Name: - True - center - entry_add_script_name - - - GTK_FILL - - - - - - True - 0 - _Script: - True - center - filechooserbutton_add_script - - - 1 - 2 - GTK_FILL - - - - - - True - True - - - 1 - 2 - - - - - - True - - - - 1 - 2 - 1 - 2 - GTK_FILL - - - - - - 1 - - - - - False - False - 0 - - - - - 1 - - - - - True - end - - - True - True - True - False - - - True - 0 - 0 - - - True - 2 - - - True - gtk-add - - - False - False - 0 - - - - - True - _Add Signature - True - - - False - False - 1 - - - - - - - - - False - False - 0 - - - - - gtk-cancel - True - True - True - False - True - - - False - False - 1 - - - - - False - end - 0 - - - - - - - True - window1 - - - True - True - - - True - 12 - vertical - 18 - - - True - vertical - 6 - - - True - 0 - <span weight="bold">Proxy Settings</span> - True - - - 0 - - - - - True - 12 - vertical - 8 - - - _Use system defaults - True - True - False - True - True - - - 0 - - - - - _Direct connection to the Internet - True - True - False - True - True - rdoSysSettings - - - 1 - - - - - _Manual proxy configuration: - True - True - False - True - True - rdoSysSettings - - - 2 - - - - - True - 24 - - - True - vertical - 6 - - - True - 4 - 4 - 6 - 6 - - - True - 0 - H_TTP Proxy: - True - txtHttpHost - - - GTK_FILL - - - - - - True - 0 - _Secure HTTP Proxy: - True - txtHttpsHost - - - 1 - 2 - GTK_FILL - - - - - - True - 0 - No _Proxy for: - True - txtIgnoreHosts - - - 3 - 4 - GTK_FILL - - - - - - True - True - - - 1 - 2 - - - - - - True - True - - - 1 - 2 - 1 - 2 - - - - - - True - 0 - Port: - - - 2 - 3 - GTK_FILL - - - - - - True - 0 - Port: - - - 2 - 3 - 1 - 2 - GTK_FILL - - - - - - True - True - 0 0 65535 1 10 0 - 1 - - - 3 - 4 - - - - - - True - True - 0 0 65535 1 10 0 - 1 - - - 3 - 4 - 1 - 2 - - - - - - True - True - - - 1 - 4 - 3 - 4 - - - - - - - - - - - - - - - - - - False - 0 - - - - - Use Authe_ntication - True - True - False - True - True - - - False - 1 - - - - - True - 24 - - - True - 2 - 2 - 6 - 3 - - - True - 0 - Us_ername: - True - txtAuthUser - - - GTK_FILL - - - - - - True - 0 - Pass_word: - True - txtAuthPwd - - - 1 - 2 - GTK_FILL - - - - - - True - True - - - 1 - 2 - - - - - True - True - False - - - 1 - 2 - 1 - 2 - - - - - - - False - 2 - - - - - - - False - 3 - - - - - False - 1 - - - - - False - 0 - - - - - - - True - General - - - False - tab - - - - - - diff --git a/mail/mail-config.ui b/mail/mail-config.ui new file mode 100644 index 0000000000..df7cde0753 --- /dev/null +++ b/mail/mail-config.ui @@ -0,0 +1,5634 @@ + + + + + + 1.5 + 10 + 1 + 1 + + + 30000 + 1 + 10 + + + 5 + 1 + 100 + 1 + 10 + + + 65535 + 1 + 10 + + + 65535 + 1 + 10 + + + + + + + + + a + + + b + + + + + + + + + + + a + + + b + + + + + + + + + + + Attachment + + + Inline (Outlook style) + + + Quoted + + + Do not quote + + + + + + + + + + + Attachment + + + Inline + + + Quoted + + + + + True + 12 + vertical + 12 + + + True + vertical + 6 + + + True + 0 + <span weight="bold">Account Information</span> + True + + + False + False + 0 + + + + + True + 12 + + + True + + + False + False + 0 + + + + + True + 6 + 2 + + + True + vertical + 6 + + + True + 0 + Type the name by which you would like to refer to this account. +ple: "Work" or "Personal" + True + + + False + 0 + + + + + True + 12 + + + True + _Name: + True + right + management_name + + + False + False + 0 + + + + + True + True + True + + + 1 + + + + + False + 1 + + + + + + + 1 + + + + + 1 + + + + + False + False + 0 + + + + + True + vertical + 6 + + + True + 0 + <span weight="bold">Required Information</span> + True + + + False + False + 0 + + + + + True + 12 + + + True + + + False + False + 0 + + + + + True + 6 + 2 + + + True + 2 + 2 + 12 + 6 + + + True + True + + + + + + + 1 + 2 + 1 + 2 + + + + + + True + 0 + Email _Address: + True + identity_address + + + 1 + 2 + GTK_FILL + + + + + + True + 0 + Full Nam_e: + True + identity_full_name + + + GTK_FILL + + + + + + True + True + + + + + + + 1 + 2 + + + + + + + + 1 + + + + + 1 + + + + + False + False + 1 + + + + + True + vertical + 6 + + + True + 0 + <span weight="bold">Optional Information</span> + True + + + False + False + 0 + + + + + True + 12 + + + True + + + False + False + 0 + + + + + True + 4 + 2 + 12 + 6 + + + True + 0 + Signat_ure: + True + signature_dropdown + + + 3 + 4 + GTK_FILL + + + + + + True + 6 + + + True + + + False + False + 0 + + + + + Add Ne_w Signature... + True + True + False + True + + + + False + False + end + 1 + + + + + 1 + 2 + 3 + 4 + GTK_FILL + GTK_FILL + + + + + True + True + + + + + + + 1 + 2 + 2 + 3 + + + + + + True + 0 + Or_ganization: + True + identity_organization + + + 2 + 3 + GTK_FILL + + + + + + True + True + + + + + + + 1 + 2 + 1 + 2 + + + + + + True + 0 + Re_ply-To: + True + center + identity_reply_to + + + 1 + 2 + GTK_FILL + + + + + + _Make this my default account + True + True + False + True + True + + + 2 + GTK_FILL + GTK_FILL + + + + + 1 + + + + + 1 + + + + + False + False + 2 + + + + + True + Identity + True + center + + + True + 12 + vertical + 12 + + + True + vertical + 12 + + + True + 2 + 3 + 12 + 6 + + + True + 0 + Server _Type: + True + right + source_type_dropdown + + + GTK_FILL + + + + + + True + 0 + 0 + Description: + center + + + 1 + 2 + GTK_FILL + + + + + + True + 0 + 0 + description + True + + + 1 + 3 + 1 + 2 + GTK_FILL + + + + + + True + + + 1 + 3 + GTK_FILL + + + + + + False + False + 0 + + + + + True + + + False + False + 1 + + + + + True + vertical + 6 + + + True + 0 + <span weight="bold">Configuration</span> + True + + + False + False + 0 + + + + + True + 12 + + + True + + + False + False + 0 + + + + + True + 6 + 2 + + + True + 3 + 2 + 12 + 6 + + + True + 0 + _Server: + True + source_host + + + GTK_FILL + + + + + + True + 0 + User_name: + True + source_user + + + 1 + 2 + GTK_FILL + + + + + + True + True + + + 1 + 2 + + + + + + True + True + + + 1 + 2 + 1 + 2 + + + + + + True + 0 + _Path: + True + + + 2 + 3 + GTK_FILL + + + + + + True + Mailbox location + + + 1 + 2 + 2 + 3 + + + + + + + + 1 + + + + + 1 + + + + + False + False + 2 + + + + + True + vertical + 6 + + + True + 0 + <span weight="bold">Security</span> + True + source_auth_dropdown + + + False + False + 0 + + + + + True + 12 + + + True + + + False + False + 0 + + + + + True + vertical + 6 + + + True + 12 + + + True + _Use Secure Connection: + True + center + + + False + False + 0 + + + + + True + use_ssl_model + + + + 0 + + + + + False + False + 1 + + + + + False + False + 0 + + + + + True + 6 + + + True + gtk-dialog-warning + + + False + False + 0 + + + + + True + 0 + <b>SSL is not supported in this build of Evolution</b> + True + center + + + False + False + 1 + + + + + 1 + + + + + 1 + + + + + 1 + + + + + False + False + 3 + + + + + True + vertical + 6 + + + True + 0 + <span weight="bold">_Authentication Type</span> + True + True + source_auth_dropdown + + + False + False + 0 + + + + + True + 12 + + + True + + + False + False + 0 + + + + + True + vertical + 6 + + + True + 6 + + + True + + + False + False + 0 + + + + + Ch_eck for Supported Types + True + True + False + True + + + False + False + 1 + + + + + 0 + + + + + Re_member password + True + True + False + Note: you will not be prompted for a password until you connect for the first time + True + True + + + False + False + 1 + + + + + 1 + + + + + 1 + + + + + False + False + 4 + + + + + 0 + + + + + True + Receiving Email + True + center + + + True + 12 + vertical + 12 + + + True + vertical + 12 + + + True + 2 + 3 + 12 + 6 + + + True + 0 + 0 + Server _Type: + True + right + transport_type_dropdown + + + GTK_FILL + + + + + + True + 0 + 0 + Description: + right + + + 1 + 2 + GTK_FILL + + + + + True + + + 1 + 3 + GTK_FILL + + + + + + True + 0 + 0 + description + True + + + 1 + 3 + 1 + 2 + GTK_FILL + + + + + + 0 + + + + + True + + + False + 1 + + + + + True + vertical + 12 + + + True + vertical + 6 + + + True + 0 + <span weight="bold">Server Configuration</span> + True + + + False + False + 0 + + + + + True + 12 + + + True + + + False + False + 0 + + + + + True + 6 + 2 + + + True + vertical + 6 + + + True + 2 + 12 + 6 + + + True + 1 + _Server: + True + right + transport_host + + + GTK_FILL + + + + + + True + True + + + 1 + 2 + + + + + + False + 0 + + + + + Ser_ver requires authentication + True + True + False + True + True + + + False + False + 1 + + + + + + + 1 + + + + + 1 + + + + + 0 + + + + + True + vertical + 6 + + + True + 0 + <span weight="bold">Security</span> + True + + + False + False + 0 + + + + + True + 12 + + + True + + + False + False + 0 + + + + + True + vertical + 6 + + + True + 12 + + + True + _Use Secure Connection: + True + center + + + False + False + 0 + + + + + True + use_ssl_model + + + + 0 + + + + + False + False + 1 + + + + + 0 + + + + + True + 6 + + + True + gtk-dialog-warning + + + False + False + 0 + + + + + True + 0 + <b>SSL is not supported in this build of Evolution</b> + True + center + + + False + False + 1 + + + + + 1 + + + + + 1 + + + + + 1 + + + + + 1 + + + + + True + vertical + 6 + + + True + 0 + <span weight="bold">Authentication</span> + True + + + False + False + 0 + + + + + True + 12 + + + True + + + False + False + 0 + + + + + True + 6 + 2 + + + True + vertical + 6 + + + True + 2 + 2 + 12 + 6 + + + True + 0 + T_ype: + True + center + transport_auth_dropdown + + + GTK_FILL + + + + + + True + 0 + User_name: + True + right + transport_user + + + 1 + 2 + GTK_FILL + + + + + + True + True + + + 1 + 2 + 1 + 2 + + + + + + True + 6 + + + True + + + False + False + 0 + + + + + Ch_eck for Supported Types + True + True + False + True + + + False + False + 1 + + + + + True + + + 2 + + + + + 1 + 2 + GTK_FILL + + + + + False + 0 + + + + + Remember _password + True + True + False + True + True + + + False + False + 1 + + + + + + + 1 + + + + + 1 + + + + + 2 + + + + + 2 + + + + + False + False + 0 + + + + + True + Sending Mail + True + center + + + True + 12 + vertical + 12 + + + True + vertical + 6 + + + True + 0 + <span weight="bold">Sent and Draft Messages</span> + True + + + False + False + 0 + + + + + True + 12 + + + True + + + False + False + 0 + + + + + True + 6 + 2 + + + True + vertical + 6 + + + True + 3 + 3 + 12 + 6 + + + True + 0 + Drafts _Folder: + True + drafts_button + + + GTK_FILL + + + + + + True + 0 + Sent _Messages Folder: + True + sent_button + + + 1 + 2 + GTK_FILL + + + + + + Select Sent Folder + True + + + 1 + 2 + 1 + 2 + GTK_FILL + GTK_FILL + + + + + Select Drafts Folder + True + + + 1 + 2 + GTK_FILL + + + + + True + + + 2 + 3 + GTK_FILL + + + + + True + + + 2 + 3 + 1 + 2 + GTK_FILL + GTK_FILL + + + + + True + + + gtk-revert-to-saved + True + True + False + True + + + False + False + 0 + + + + + True + + + 1 + + + + + 1 + 3 + 2 + 3 + + + + + + + + 0 + + + + + + + 1 + + + + + 1 + + + + + False + False + 0 + + + + + True + vertical + 6 + + + True + 0 + <span weight="bold">Composing Messages</span> + True + + + False + False + 0 + + + + + True + 12 + + + True + + + False + False + 0 + + + + + True + 6 + 2 + + + True + 2 + 12 + 6 + + + True + vertical + 6 + + + Alway_s carbon-copy (cc) to: + True + True + False + True + True + + + False + False + 0 + + + + + True + + + True + 12 + + + False + False + 0 + + + + + True + 6 + 2 + + + True + vertical + 6 + + + True + True + + + 0 + + + + + + + 1 + + + + + 1 + + + + + + + True + vertical + 6 + + + Always _blind carbon-copy (bcc) to: + True + True + False + True + True + + + False + False + 0 + + + + + True + + + True + 12 + + + False + False + 0 + + + + + True + 6 + 2 + + + True + vertical + 6 + + + True + True + + + 0 + + + + + + + 1 + + + + + 1 + + + + + 1 + 2 + + + + + + + 1 + + + + + 1 + + + + + False + False + 1 + + + + + True + vertical + 6 + + + True + 0 + <span weight="bold">Message Receipts</span> + True + + + False + False + 0 + + + + + True + 12 + + + True + + + False + False + 0 + + + + + True + 12 + + + True + S_end message receipts: + True + receipt_policy_dropdown + + + False + False + 0 + + + + + True + + + 1 + + + + + 1 + + + + + False + False + 1 + + + + + 2 + + + + + True + Defaults + True + center + + + True + 12 + vertical + 12 + + + True + vertical + 6 + + + True + 0 + <span weight="bold">Pretty Good Privacy (PGP/GPG)</span> + True + + + False + False + 0 + + + + + True + 12 + + + True + + + False + False + 0 + + + + + True + 6 + 2 + + + True + vertical + 6 + + + True + 12 + + + True + 0 + PGP/GPG _Key ID: + True + pgp_key + + + False + False + 0 + + + + + True + True + + + 1 + + + + + False + False + 0 + + + + + Al_ways sign outgoing messages when using this account + True + True + False + True + True + + + False + False + 1 + + + + + _Do not sign meeting requests (for Outlook compatibility) + True + True + False + True + True + + + False + False + 2 + + + + + Always encrypt to _myself when sending encrypted messages + True + True + False + True + True + True + + + False + False + 3 + + + + + Always _trust keys in my keyring when encrypting + True + True + False + True + True + + + False + False + 4 + + + + + + + 1 + + + + + 1 + + + + + False + False + 0 + + + + + True + vertical + 6 + + + True + 0 + <span weight="bold">Secure MIME (S/MIME)</span> + True + + + False + False + 0 + + + + + True + 12 + + + True + + + False + False + 0 + + + + + True + 6 + 3 + 12 + 6 + + + True + True + + + 1 + 2 + 1 + 2 + + + + + + True + True + + + 1 + 2 + 5 + 6 + + + + + + Also encrypt to sel_f when sending encrypted messages + True + True + False + True + True + + + 3 + 4 + 5 + GTK_FILL + + + + + + Encrypt out_going messages (by default) + True + True + False + True + True + + + 3 + 3 + 4 + GTK_FILL + + + + + + Digitally sign o_utgoing messages (by default) + True + True + False + True + True + + + 3 + GTK_FILL + + + + + + True + + + 3 + 2 + 3 + GTK_FILL + GTK_FILL + 6 + + + + + True + 0 + Encry_ption certificate: + True + smime_encrypt_key + + + 5 + 6 + GTK_FILL + + + + + + True + 0 + Sig_ning certificate: + True + smime_sign_key + + + 1 + 2 + GTK_FILL + + + + + + True + 6 + + + True + True + False + + + True + 0 + 0 + + + True + 2 + + + True + gtk-open + + + False + False + 0 + + + + + True + S_elect... + True + + + False + False + 1 + + + + + + + + + False + False + 0 + + + + + True + True + False + + + True + 0 + 0 + + + True + 2 + + + True + gtk-clear + + + False + False + 0 + + + + + True + Clea_r + True + + + False + False + 1 + + + + + + + + + False + False + 1 + + + + + 2 + 3 + 5 + 6 + GTK_FILL + GTK_FILL + + + + + True + 6 + + + True + True + False + + + True + 0 + 0 + + + True + 2 + + + True + gtk-open + + + False + False + 0 + + + + + True + _Select... + True + + + False + False + 1 + + + + + + + + + False + False + 0 + + + + + True + True + False + + + True + 0 + 0 + + + True + 2 + + + True + gtk-clear + + + False + False + 0 + + + + + True + Cle_ar + True + + + False + False + 1 + + + + + + + + + False + False + 1 + + + + + 2 + 3 + 1 + 2 + GTK_FILL + GTK_FILL + + + + + 1 + + + + + 1 + + + + + False + False + 1 + + + + + True + Security + True + center + + + + + + + + + + + No encryption + never + + + TLS encryption + when-possible + + + SSL encryption + always + + + + + True + True + True + + + True + 12 + vertical + 12 + + + True + vertical + 6 + + + True + 0 + <span weight="bold">Message Fonts</span> + True + + + False + False + 0 + + + + + True + 12 + + + True + + + False + False + 0 + + + + + True + 6 + 2 + + + True + vertical + 6 + + + _Use the same fonts as other applications + True + True + False + True + True + + + False + False + 0 + + + + + True + 2 + 2 + 6 + 6 + + + True + 0 + S_tandard Font: + True + right + FontVariable + + + GTK_FILL + + + + + + True + True + False + Select HTML fixed width font + + + + 1 + 2 + 1 + 2 + GTK_FILL + + + + + + True + True + False + Select HTML variable width font + + + + 1 + 2 + GTK_FILL + + + + + + True + 0 + Fix_ed width Font: + True + right + FontFixed + + + 1 + 2 + GTK_FILL + + + + + + 1 + + + + + + + 1 + + + + + 1 + + + + + False + False + 0 + + + + + True + vertical + 6 + + + True + 0 + <span weight="bold">Message Display</span> + True + + + False + False + 0 + + + + + True + 12 + + + True + + + False + False + 0 + + + + + True + 6 + 2 + + + True + vertical + 6 + + + True + 6 + + + _Mark messages as read after + True + True + False + True + True + + + False + False + 0 + + + + + True + True + adjustment1 + 1 + 1 + True + if-valid + + + False + False + 1 + + + + + True + seconds + center + + + False + False + 2 + + + + + 0 + + + + + True + 4 + + + Do not format messages when text si_ze exceeds + True + True + False + True + True + + + False + False + 0 + + + + + True + True + adjustment2 + 1 + + + False + 1 + + + + + True + KB + + + False + False + 2 + + + + + False + False + 1 + + + + + True + + + _Shrink To / Cc / Bcc headers to + True + True + False + True + True + + + False + False + 0 + + + + + True + True + adjustment3 + 1 + + + False + False + 2 + 1 + + + + + True + addresses + + + False + False + 2 + 2 + + + + + False + False + 2 + + + + + Enable Magic S_pacebar + True + True + False + True + True + + + False + False + 3 + + + + + True + 6 + + + Highlight _quotations with + True + True + False + True + True + True + + + False + False + 0 + + + + + True + True + False + Pick a color + + + False + False + 1 + + + + + True + color + center + + + False + False + 2 + + + + + 4 + + + + + True + 6 + + + True + Default character e_ncoding: + True + center + + + False + False + 0 + + + + + + + + 5 + + + + + True + 6 + + + Enable Sea_rch Folders + True + True + False + True + True + True + + + False + False + 0 + + + + + True + (Note: Requires restart of the application) + center + + + False + False + 1 + + + + + 6 + + + + + + + 1 + + + + + 1 + + + + + False + False + 1 + + + + + True + vertical + 6 + + + True + 0 + <span weight="bold">Delete Mail</span> + True + + + False + False + 0 + + + + + True + 12 + + + True + + + False + False + 0 + + + + + True + 6 + 2 + + + True + vertical + 6 + + + True + 4 + + + Empty trash folders on e_xit + True + True + False + True + True + + + False + False + 0 + + + + + True + model1 + + + + 0 + + + + + False + False + 1 + + + + + 0 + + + + + Confirm _when expunging a folder + True + True + False + True + True + + + False + False + 1 + + + + + + + 1 + + + + + 1 + + + + + False + False + 2 + + + + + + + True + General + True + center + + + False + + + + + True + 12 + vertical + 12 + + + True + 0 + <span weight="bold">General</span> + True + + + False + False + 0 + + + + + True + 12 + + + True + + + False + False + 0 + + + + + True + vertical + 6 + + + _Show image animations + True + True + False + True + True + + + False + False + 0 + + + + + _Prompt on sending HTML mail to contacts that do not want them + True + True + False + True + True + + + False + False + 1 + + + + + False + False + 1 + + + + + False + False + 1 + + + + + True + vertical + 6 + + + True + 0 + <span weight="bold">Loading Images</span> + True + + + False + False + 0 + + + + + True + 12 + + + True + + + False + False + 0 + + + + + True + vertical + 6 + + + _Never load images from the Internet + True + True + False + True + True + + + False + False + 0 + + + + + _Load images in messages from contacts + True + True + False + True + True + radImagesNever + + + False + False + 1 + + + + + _Always load images from the Internet + True + True + False + True + True + radImagesNever + + + False + False + 2 + + + + + False + False + 1 + + + + + False + False + 1 + + + + + False + False + 2 + + + + + 1 + + + + + True + HTML Messages + True + center + + + 1 + False + + + + + True + 12 + vertical + 6 + + + True + 0 + <span weight="bold">Labels</span> + True + + + False + False + 0 + + + + + True + 12 + + + + + + 1 + + + + + 2 + + + + + True + Labels + True + center + + + 2 + False + + + + + True + 12 + vertical + 6 + + + True + vertical + 3 + + + True + + + True + <b>Sender Photograph</b> + True + + + False + False + 0 + + + + + False + False + 0 + + + + + True + vertical + + + True + + + _Show the photograph of sender in the message preview + True + True + False + True + True + + + False + False + 10 + 0 + + + + + False + False + 0 + + + + + True + + + S_earch for sender photograph only in local address books + True + True + False + True + True + + + False + False + 10 + 0 + + + + + False + False + 1 + + + + + False + False + 1 + + + + + False + False + 0 + + + + + True + 0 + <span weight="bold">Displayed Message _Headers</span> + True + True + txtHeaders + + + False + False + 1 + + + + + True + 12 + + + True + + + False + False + 0 + + + + + True + vertical + 12 + + + True + True + + + False + False + 0 + + + + + True + True + automatic + automatic + in + + + True + True + False + + + Mail Headers Table + + + + + + + 1 + + + + + 1 + + + + + True + vertical + 6 + + + gtk-add + True + False + True + False + True + + + False + False + 0 + + + + + gtk-remove + True + True + False + True + + + False + False + 1 + + + + + False + False + 2 + + + + + 2 + + + + + True + vertical + + + True + 0 + <span weight="bold">Date/Time Format</span> + True + True + txtHeaders + + + False + False + 0 + + + + + True + + + True + 6 + + + False + False + 0 + + + + + True + 3 + + + + + + + + + + + + 1 + + + + + 1 + + + + + False + 3 + + + + + 3 + + + + + True + Headers + True + + + 3 + False + + + + + True + 12 + vertical + 6 + + + True + vertical + + + True + 0 + <span weight="bold">General</span> + True + + + False + False + 0 + + + + + True + 12 + 9 + 3 + + + True + 6 + + + True + _Default junk plugin: + True + default_junk_plugin + + + False + False + 6 + 0 + + + + + True + + + False + False + 1 + + + + + 7 + 8 + GTK_FILL + + + + + Check incoming _messages for junk + True + True + False + Checks incoming mail messages to be Junk + True + True + + + GTK_FILL + + 4 + + + + + True + 3 + + + True + gtk-info + + + False + False + 0 + + + + + True + True + + + False + False + 1 + + + + + 8 + 9 + GTK_FILL + 15 + + + + + True + 4 + + + Delete junk messages on e_xit + True + True + False + True + True + + + False + False + 0 + + + + + True + model2 + + + + 0 + + + + + False + False + 1 + + + + + 1 + 2 + GTK_FILL + 4 + + + + + Check cu_stom headers for junk + True + True + False + True + True + + + 2 + 3 + GTK_FILL + + 4 + + + + + True + 6 + + + True + True + automatic + automatic + in + + + True + True + + + + + 0 + + + + + True + spread + + + gtk-add + True + True + True + False + True + + + False + False + 0 + + + + + gtk-remove + True + True + True + False + True + + + False + False + 1 + + + + + False + 1 + + + + + 3 + 4 + 22 + + + + + Do not mar_k messages as junk if sender is in my address book + True + True + False + True + True + + + 4 + 5 + GTK_FILL + + 4 + + + + + _Lookup in local address book only + True + True + False + True + True + + + 5 + 6 + GTK_FILL + + 25 + + + + + True + 6 + + + True + gtk-info + + + False + 0 + + + + + True + Option is ignored if a match for custom junk headers is found. + + + False + False + 1 + + + + + 6 + 7 + GTK_FILL + + + + + 1 + + + + + False + False + 0 + + + + + True + vertical + + + False + False + 1 + + + + + 4 + + + + + True + Junk + True + + + 4 + False + + + + + True + True + + + True + 12 + vertical + 18 + + + True + vertical + 6 + + + True + 0 + <span weight="bold">Default Behavior</span> + True + + + False + False + 0 + + + + + True + + + True + 12 + + + False + False + 0 + + + + + True + 6 + 2 + + + True + vertical + 8 + + + Format messages in _HTML + True + True + False + True + True + + + False + False + 0 + + + + + Automatically insert _emoticon images + True + True + False + True + True + + + False + False + 1 + + + + + Always request rea_d receipt + True + True + False + True + True + + + False + False + 2 + + + + + Start _typing at the bottom on replying + True + True + False + True + True + + + False + False + 3 + + + + + Encode file names in an Outlook/GMail way + True + True + False + True + True + + + False + False + 4 + + + + + True + 3 + 2 + 12 + 6 + + + True + 0 + _Reply style: + True + center + + + 1 + 2 + GTK_FILL + + + + + + True + 7.4505801528346183e-09 + 0 + + + True + + + True + model3 + + + + 0 + + + + + 0 + + + + + + + 1 + 2 + 1 + 2 + GTK_FILL + + + + + + True + + + True + model4 + + + + 0 + + + + + False + False + 0 + + + + + 1 + 2 + GTK_FILL + GTK_FILL + + + + + True + 0 + _Forward style: + True + center + + + GTK_FILL + + + + + + True + C_haracter set: + True + + + 2 + 3 + GTK_FILL + + + + + + True + + + + + + 1 + 2 + 2 + 3 + GTK_FILL + + + + + 5 + + + + + True + 2 + + + True + vertical + 8 + + + True + 0 + 0.47999998927116394 + <b>Top Posting Option</b> (Not Recommended) + True + + + False + False + 0 + + + + + _Keep Signature above the original message on replying + True + True + False + True + True + + + False + False + 1 + + + + + + + + 0 + + + + + 6 + + + + + + + 1 + + + + + 1 + + + + + True + 0 + <span weight="bold">Alerts</span> + True + + + False + False + 2 + + + + + True + vertical + + + True + 12 + + + False + False + 0 + + + + + True + 6 + 2 + + + True + vertical + 6 + + + _Prompt when sending messages with an empty subject line + True + True + False + True + True + + + False + False + 0 + + + + + Pr_ompt when sending messages with only Bcc recipients defined + True + True + False + True + True + + + False + False + 1 + + + + + + + False + False + 1 + + + + + 3 + + + + + False + False + 0 + + + + + + + True + General + True + center + + + False + + + + + True + 12 + vertical + 12 + + + True + vertical + 6 + + + True + 0 + <b>Sig_natures</b> + True + True + + + False + False + 0 + + + + + True + 12 + + + + + + 1 + + + + + 0 + + + + + True + vertical + 6 + + + True + 0 + <b>Preview</b> + True + + + False + False + 0 + + + + + True + 12 + + + True + + + False + False + 0 + + + + + True + False + automatic + automatic + in + + + + + + 1 + + + + + False + False + 1 + + + + + False + False + 1 + + + + + 1 + + + + + True + Signatures + True + center + + + 1 + False + + + + + True + 12 + vertical + 12 + + + True + vertical + 6 + + + True + 0 + <b>_Languages</b> + True + True + listSpellCheckLanguage + + + False + False + 0 + + + + + True + 12 + + + True + + + False + False + 0 + + + + + True + vertical + 6 + + + True + vertical + 6 + + + True + + + True + 6 + + + True + False + automatic + automatic + in + + + True + True + False + + + Languages Table + + + + + + + 0 + + + + + 0 + + + + + 0 + + + + + True + 6 + + + True + 0 + gtk-dialog-info + + + False + 0 + + + + + True + 0 + The list of languages here reflects only the languages for which you have a dictionary installed. + True + + + 1 + + + + + False + 1 + + + + + 0 + + + + + 1 + + + + + 1 + + + + + 0 + + + + + True + vertical + 6 + + + True + 0 + <span weight="bold">Options</span> + True + + + False + False + 0 + + + + + True + 12 + + + True + + + False + False + 0 + + + + + True + vertical + 6 + + + Check spelling while I _type + True + True + False + True + True + + + False + False + 0 + + + + + True + 6 + + + True + Color for _misspelled words: + True + center + colorButtonSpellCheckColor + + + False + False + 0 + + + + + True + True + False + Pick a color + + + False + False + 1 + + + + + False + 1 + + + + + 1 + + + + + 1 + + + + + False + 1 + + + + + 2 + + + + + True + Spell Checking + True + center + + + 2 + False + + + + + Font Properties + + + True + vertical + 12 + + + + + + True + vertical + 6 + + + True + 0 + <span weight="bold">Printed Fonts</span> + True + + + False + False + 0 + + + + + True + + + True + 12 + + + False + False + 0 + + + + + True + 2 + 2 + 12 + 6 + + + True + 0 + V_ariable-width: + True + center + print_variable + + + GTK_FILL + + + + + + True + 0 + Fi_xed-width: + True + center + print_fixed + + + 1 + 2 + GTK_FILL + + + + + + True + True + False + Select HTML fixed width font for printing + + + + 1 + 2 + 1 + 2 + GTK_FILL + + + + + + True + True + False + Select HTML variable width font for printing + + + + 1 + 2 + GTK_FILL + + + + + + 1 + + + + + 1 + + + + + False + False + 1 + + + + + + + normal + False + + + True + vertical + 12 + + + True + vertical + + + True + 12 + vertical + 6 + + + True + 6 + + + True + 0 + gtk-dialog-info + 6 + + + 0 + + + + + True + 0 + The output of this script will be used as your +signature. The name you specify will be used +for display purposes only. + True + + + False + False + 1 + + + + + False + False + 0 + + + + + True + 2 + 2 + 6 + 6 + + + True + 0 + _Name: + True + center + entry_add_script_name + + + GTK_FILL + + + + + + True + 0 + _Script: + True + center + filechooserbutton_add_script + + + 1 + 2 + GTK_FILL + + + + + + True + True + + + 1 + 2 + + + + + + True + + + + 1 + 2 + 1 + 2 + GTK_FILL + + + + + + 1 + + + + + False + False + 0 + + + + + 1 + + + + + True + end + + + True + True + True + False + + + True + 0 + 0 + + + True + 2 + + + True + gtk-add + + + False + False + 0 + + + + + True + _Add Signature + True + + + False + False + 1 + + + + + + + + + False + False + 0 + + + + + gtk-cancel + True + True + True + False + True + + + False + False + 1 + + + + + False + end + 0 + + + + + + button_add_script_add + button_add_script_cancel + + + + True + True + + + True + 12 + vertical + 18 + + + True + vertical + 6 + + + True + 0 + <span weight="bold">Proxy Settings</span> + True + + + 0 + + + + + True + 12 + vertical + 8 + + + _Use system defaults + True + True + False + True + True + + + 0 + + + + + _Direct connection to the Internet + True + True + False + True + True + rdoSysSettings + + + 1 + + + + + _Manual proxy configuration: + True + True + False + True + True + rdoSysSettings + + + 2 + + + + + True + 24 + + + True + vertical + 6 + + + True + 4 + 4 + 6 + 6 + + + True + 0 + H_TTP Proxy: + True + txtHttpHost + + + GTK_FILL + + + + + + True + 0 + _Secure HTTP Proxy: + True + txtHttpsHost + + + 1 + 2 + GTK_FILL + + + + + + True + 0 + No _Proxy for: + True + txtIgnoreHosts + + + 3 + 4 + GTK_FILL + + + + + + True + True + + + 1 + 2 + + + + + + True + True + + + 1 + 2 + 1 + 2 + + + + + + True + 0 + Port: + + + 2 + 3 + GTK_FILL + + + + + + True + 0 + Port: + + + 2 + 3 + 1 + 2 + GTK_FILL + + + + + + True + True + adjustment4 + 1 + + + 3 + 4 + + + + + + True + True + adjustment5 + 1 + + + 3 + 4 + 1 + 2 + + + + + + True + True + + + 1 + 4 + 3 + 4 + + + + + + + + + + + + + + + + + + False + 0 + + + + + Use Authe_ntication + True + True + False + True + True + + + False + 1 + + + + + True + 24 + + + True + 2 + 2 + 6 + 3 + + + True + 0 + Us_ername: + True + txtAuthUser + + + GTK_FILL + + + + + + True + 0 + Pass_word: + True + txtAuthPwd + + + 1 + 2 + GTK_FILL + + + + + + True + True + + + 1 + 2 + + + + + True + True + False + + + 1 + 2 + 1 + 2 + + + + + + + False + 2 + + + + + + + False + 3 + + + + + False + 1 + + + + + False + 0 + + + + + + + True + General + + + False + + + + diff --git a/mail/mail-dialogs.glade b/mail/mail-dialogs.glade deleted file mode 100644 index 08e7415da7..0000000000 --- a/mail/mail-dialogs.glade +++ /dev/null @@ -1,911 +0,0 @@ - - - - - - True - 6 - Security Information - dialog - False - - - True - 6 - - - True - 12 - 18 - - - True - 6 - - - True - 0 - <span weight="bold">Digital Signature</span> - True - - - False - False - 0 - - - - - True - - - True - 12 - - - False - False - 0 - - - - - True - 6 - 2 - - - True - - - - - - - - 1 - - - - - 1 - - - - - False - False - 0 - - - - - True - 6 - - - True - 0 - <span weight="bold">Encryption</span> - True - - - False - False - 0 - - - - - True - - - True - 12 - - - False - False - 0 - - - - - True - 6 - 2 - - - True - - - - - - - - 1 - - - - - 1 - - - - - False - False - 1 - - - - - 1 - - - - - True - end - - - gtk-ok - -5 - True - True - True - False - True - - - False - False - 0 - - - - - False - end - 0 - - - - - - - Folder Subscriptions - 600 - 400 - dialog - False - - - True - - - True - 12 - 12 - - - True - 12 - - - True - S_erver: - True - - - False - False - 0 - - - - - True - - - False - False - 1 - - - - - True - 0.10000000149 - - - False - False - end - 2 - - - - - False - False - 0 - - - - - True - 6 - - - - - - 1 - - - - - 1 - - - - - True - end - - - gtk-refresh - True - True - True - False - True - - - False - False - 0 - - - - - gtk-close - -7 - True - True - True - False - True - - - False - False - 1 - - - - - False - end - 0 - - - - - - - True - License Agreement - dialog - - - True - - - True - - - True - - - False - False - 0 - - - - - True - True - - - 500 - 400 - True - True - - - - - 1 - - - - - _Tick this to accept the license agreement - True - True - False - True - True - - - False - False - 2 - - - - - 2 - - - - - True - end - - - gtk-no - -6 - True - True - True - False - True - - - False - False - 0 - - - - - -3 - True - True - True - False - - - True - 0 - 0 - - - True - 2 - - - True - gtk-yes - 4 - - - False - False - 0 - - - - - True - _Accept License - True - - - False - False - 1 - - - - - - - - - False - False - 1 - - - - - False - end - 0 - - - - - - - 6 - Flag to Follow Up - dialog - False - - - True - 12 - - - True - 6 - 12 - - - True - 6 - - - True - stock_mail-flag-for-followup - 6 - - - False - False - 0 - - - - - True - The messages you have selected for follow up are listed below. -Please select a follow up action from the "Flag" menu. - - - False - False - 1 - - - - - False - False - 0 - - - - - True - False - automatic - automatic - in - - - True - True - - - - - 1 - - - - - True - 3 - 3 - 6 - 6 - - - True - 0 - _Flag: - True - center - - - GTK_FILL - - - - - - True - 0 - _Due By: - True - center - - - 1 - 2 - GTK_FILL - - - - - - gtk-clear - True - True - False - True - - - 2 - 3 - GTK_FILL - - - - - - True - target_date_new - - - 1 - 3 - 1 - 2 - GTK_FILL - - - - - Co_mpleted - True - True - False - True - True - - - 1 - 3 - 2 - 3 - GTK_FILL - - - - - - True - a -b - - - 1 - 2 - GTK_FILL - - - - - - - - - False - False - 2 - - - - - 1 - - - - - True - end - - - gtk-ok - True - True - True - False - True - - - False - False - 0 - - - - - gtk-cancel - True - True - True - False - True - - - False - False - 1 - - - - - False - end - 0 - - - - - - - True - 6 - dialog - False - - - True - 6 - - - True - 6 - - - True - 0 - <b>Search Folder Sources</b> - True - - - False - False - 0 - - - - - True - - - True - - - - False - False - 0 - - - - - True - 6 - 6 - - - All local folders - True - True - False - True - True - - - False - False - 0 - - - - - All active remote folders - True - True - False - True - True - local_rb - - - False - False - 1 - - - - - All local and active remote folders - True - True - False - True - True - local_rb - - - False - False - 2 - - - - - Specific folders - True - True - False - True - True - local_rb - - - False - False - 3 - - - - - True - 6 - - - True - em_vfolder_editor_sourcelist_new - - - 0 - - - - - True - 1 - - - True - 6 - - - gtk-add - True - True - True - False - True - - - False - False - 0 - - - - - gtk-remove - True - True - True - False - True - - - False - False - 1 - - - - - False - False - 0 - - - - - False - False - 1 - - - - - 4 - - - - - 1 - - - - - 1 - - - - - 3 - 1 - - - - - True - end - - - gtk-cancel - -6 - True - True - True - False - True - - - False - False - 0 - - - - - gtk-apply - True - True - True - False - True - - - False - False - 1 - - - - - gtk-ok - -5 - True - True - True - False - True - - - False - False - 2 - - - - - False - end - 0 - - - - - - diff --git a/mail/mail-dialogs.ui b/mail/mail-dialogs.ui new file mode 100644 index 0000000000..2d123d6c43 --- /dev/null +++ b/mail/mail-dialogs.ui @@ -0,0 +1,869 @@ + + + + + + 6 + Security Information + dialog + False + + + True + vertical + 6 + + + True + 12 + vertical + 18 + + + True + vertical + 6 + + + True + 0 + <span weight="bold">Digital Signature</span> + True + + + False + False + 0 + + + + + True + + + True + 12 + + + False + False + 0 + + + + + True + 6 + 2 + + + True + vertical + + + + + + + + 1 + + + + + 1 + + + + + False + False + 0 + + + + + True + vertical + 6 + + + True + 0 + <span weight="bold">Encryption</span> + True + + + False + False + 0 + + + + + True + + + True + 12 + + + False + False + 0 + + + + + True + 6 + 2 + + + True + vertical + + + + + + + + 1 + + + + + 1 + + + + + False + False + 1 + + + + + 1 + + + + + True + end + + + gtk-ok + True + True + True + False + True + + + False + False + 0 + + + + + False + end + 0 + + + + + + okbutton1 + + + + Folder Subscriptions + 600 + 400 + dialog + False + + + True + vertical + + + True + 12 + vertical + 12 + + + True + 12 + + + True + S_erver: + True + + + False + False + 0 + + + + + True + + + False + False + 1 + + + + + True + 0.10000000149 + + + False + False + end + 2 + + + + + False + False + 0 + + + + + True + 6 + + + + + + 1 + + + + + 1 + + + + + True + end + + + gtk-refresh + True + True + True + False + True + + + False + False + 0 + + + + + gtk-close + True + True + True + False + True + + + False + False + 1 + + + + + False + end + 0 + + + + + + refresh_button + close_button + + + + License Agreement + dialog + + + True + vertical + + + True + vertical + + + True + + + False + False + 0 + + + + + True + True + + + 500 + 400 + True + True + + + + + 1 + + + + + _Tick this to accept the license agreement + True + True + False + True + True + + + False + False + 2 + + + + + 2 + + + + + True + end + + + gtk-no + True + True + True + False + True + + + False + False + 0 + + + + + True + True + True + False + + + True + 0 + 0 + + + True + 2 + + + True + gtk-yes + + + False + False + 0 + + + + + True + _Accept License + True + + + False + False + 1 + + + + + + + + + False + False + 1 + + + + + False + end + 0 + + + + + + lic_no_button + lic_yes_button + + + + + + + + + + + + + + + + + + Call + + + Do Not Forward + + + Follow-Up + + + For Your Information + + + Forward + + + No Response Necessary + + + Read + + + Reply + + + Reply to All + + + Review + + + + + True + 6 + vertical + 12 + + + True + 6 + + + True + stock_mail-flag-for-followup + 6 + + + False + False + 0 + + + + + True + The messages you have selected for follow up are listed below. +elect a follow up action from the "Flag" menu. + + + False + False + 1 + + + + + False + False + 0 + + + + + True + False + automatic + automatic + in + + + True + True + + + + + 1 + + + + + True + 3 + 3 + 6 + 6 + + + True + 0 + _Flag: + True + center + + + GTK_FILL + + + + + + True + 0 + _Due By: + True + center + + + 1 + 2 + GTK_FILL + + + + + + gtk-clear + True + True + False + True + + + 2 + 3 + GTK_FILL + + + + + + True + True + + + 1 + 3 + 1 + 2 + GTK_FILL + + + + + Co_mpleted + True + True + False + True + True + + + 1 + 3 + 2 + 3 + GTK_FILL + + + + + + True + combo_model + + + 1 + 2 + GTK_FILL + + + + + + + + + + + + + + + False + False + 2 + + + + + True + vertical + 6 + + + True + 0 + <b>Search Folder Sources</b> + True + + + False + False + 0 + + + + + True + + + True + + + + False + False + 0 + + + + + True + 6 + vertical + 6 + + + All local folders + True + True + False + True + True + + + False + False + 0 + + + + + All active remote folders + True + True + False + True + True + local_rb + + + False + False + 1 + + + + + All local and active remote folders + True + True + False + True + True + local_rb + + + False + False + 2 + + + + + Specific folders + True + True + False + True + True + local_rb + + + False + False + 3 + + + + + True + 6 + + + True + True + automatic + automatic + in + + + True + True + source_model + False + + + column + + + + 0 + + + + + + + + + 0 + + + + + True + vertical + 1 + + + True + vertical + 6 + + + gtk-add + True + True + True + False + True + + + False + False + 0 + + + + + gtk-remove + True + True + True + False + True + + + False + False + 1 + + + + + False + False + 0 + + + + + False + False + 1 + + + + + 4 + + + + + 1 + + + + + 1 + + + + diff --git a/mail/message-tag-editor.c b/mail/message-tag-editor.c deleted file mode 100644 index 1936cd8717..0000000000 --- a/mail/message-tag-editor.c +++ /dev/null @@ -1,124 +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 - * - * - * Authors: - * Jeffrey Stedfast - * - * Copyright (C) 1999-2008 Novell, Inc. (www.novell.com) - * - */ - -#ifdef HAVE_CONFIG_H -#include -#endif - -#include "message-tag-editor.h" - -static void message_tag_editor_class_init (MessageTagEditorClass *class); -static void message_tag_editor_init (MessageTagEditor *editor); -static void message_tag_editor_finalise (GObject *obj); - -static CamelTag *get_tag_list (MessageTagEditor *editor); -static void set_tag_list (MessageTagEditor *editor, CamelTag *value); - -static GtkDialogClass *parent_class = NULL; - -GType -message_tag_editor_get_type (void) -{ - static GType type = 0; - - if (!type) { - static const GTypeInfo info = { - sizeof (MessageTagEditorClass), - NULL, /* base_class_init */ - NULL, /* base_class_finalize */ - (GClassInitFunc) message_tag_editor_class_init, - NULL, /* class_finalize */ - NULL, /* class_data */ - sizeof (MessageTagEditor), - 0, - (GInstanceInitFunc) message_tag_editor_init, - }; - - type = g_type_register_static (gtk_dialog_get_type (), "MessageTagEditor", &info, 0); - } - - return type; -} - -static void -message_tag_editor_class_init (MessageTagEditorClass *klass) -{ - GObjectClass *object_class = G_OBJECT_CLASS (klass); - - parent_class = g_type_class_ref (gtk_dialog_get_type ()); - - object_class->finalize = message_tag_editor_finalise; - - klass->get_tag_list = get_tag_list; - klass->set_tag_list = set_tag_list; -} - -static void -message_tag_editor_init (MessageTagEditor *editor) -{ - gtk_window_set_default_size((GtkWindow *)editor, 400, 500); - gtk_dialog_add_buttons (GTK_DIALOG (editor), - GTK_STOCK_CANCEL, GTK_RESPONSE_CANCEL, - GTK_STOCK_OK, GTK_RESPONSE_OK, - NULL); - - gtk_dialog_set_default_response (GTK_DIALOG (editor), GTK_RESPONSE_OK); -} - -static void -message_tag_editor_finalise (GObject *obj) -{ - /*MessageTagEditor *editor = (MessageTagEditor *) obj;*/ - - G_OBJECT_CLASS (parent_class)->finalize (obj); -} - -static CamelTag * -get_tag_list (MessageTagEditor *editor) -{ - return NULL; -} - -CamelTag * -message_tag_editor_get_tag_list (MessageTagEditor *editor) -{ - g_return_val_if_fail (IS_MESSAGE_TAG_EDITOR (editor), NULL); - - return MESSAGE_TAG_EDITOR_GET_CLASS (editor)->get_tag_list (editor); -} - -static void -set_tag_list (MessageTagEditor *editor, CamelTag *tags) -{ - /* no-op */ - ; -} - -void -message_tag_editor_set_tag_list (MessageTagEditor *editor, CamelTag *tags) -{ - g_return_if_fail (IS_MESSAGE_TAG_EDITOR (editor)); - g_return_if_fail (tags != NULL); - - MESSAGE_TAG_EDITOR_GET_CLASS (editor)->set_tag_list (editor, tags); -} diff --git a/mail/message-tag-editor.h b/mail/message-tag-editor.h deleted file mode 100644 index 0187f81e92..0000000000 --- a/mail/message-tag-editor.h +++ /dev/null @@ -1,66 +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 - * - * - * Authors: - * Jeffrey Stedfast - * - * Copyright (C) 1999-2008 Novell, Inc. (www.novell.com) - * - */ - -#ifndef __MESSAGE_TAG_EDITOR_H__ -#define __MESSAGE_TAG_EDITOR_H__ - -#include -#include -#include - -G_BEGIN_DECLS - -#define MESSAGE_TAG_EDITOR_TYPE (message_tag_editor_get_type ()) -#define MESSAGE_TAG_EDITOR(obj) (G_TYPE_CHECK_INSTANCE_CAST (obj, MESSAGE_TAG_EDITOR_TYPE, MessageTagEditor)) -#define MESSAGE_TAG_EDITOR_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST (klass, MESSAGE_TAG_EDITOR_TYPE, MessageTagEditorClass)) -#define IS_MESSAGE_TAG_EDITOR(obj) (G_TYPE_CHECK_INSTANCE_TYPE (obj, MESSAGE_TAG_EDITOR_TYPE)) -#define IS_MESSAGE_TAG_EDITOR_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), MESSAGE_TAG_EDITOR_TYPE)) -#define MESSAGE_TAG_EDITOR_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), MESSAGE_TAG_EDITOR_TYPE, MessageTagEditorClass)) - -typedef struct _MessageTagEditor MessageTagEditor; -typedef struct _MessageTagEditorClass MessageTagEditorClass; - -struct _MessageTagEditor { - GtkDialog parent; - -}; - -struct _MessageTagEditorClass { - GtkDialogClass parent_class; - - /* virtual methods */ - CamelTag * (*get_tag_list) (MessageTagEditor *editor); - void (*set_tag_list) (MessageTagEditor *editor, CamelTag *tags); - - /* signals */ -}; - -GType message_tag_editor_get_type (void); - -/* methods */ -CamelTag *message_tag_editor_get_tag_list (MessageTagEditor *editor); -void message_tag_editor_set_tag_list (MessageTagEditor *editor, CamelTag *tags); - -G_END_DECLS - -#endif /* __MESSAGE_TAG_EDITOR_H__ */ diff --git a/mail/message-tag-followup.c b/mail/message-tag-followup.c deleted file mode 100644 index b9ae183f6b..0000000000 --- a/mail/message-tag-followup.c +++ /dev/null @@ -1,351 +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 - * - * - * Authors: - * Jeffrey Stedfast - * - * Copyright (C) 1999-2008 Novell, Inc. (www.novell.com) - * - */ - -#include - -#include -#include -#include - -#include -#include - -#include -#include - -#include - -#include "e-util/e-util-private.h" - -#include "misc/e-dateedit.h" - -#include "message-tag-followup.h" -#include "mail-config.h" - -static void message_tag_followup_class_init (MessageTagFollowUpClass *class); -static void message_tag_followup_init (MessageTagFollowUp *followup); -static void message_tag_followup_finalise (GObject *obj); - -static CamelTag *get_tag_list (MessageTagEditor *editor); -static void set_tag_list (MessageTagEditor *editor, CamelTag *tags); - -#define DEFAULT_FLAG 2 /* Follow-Up */ -static const gchar *available_flags[] = { - N_("Call"), - N_("Do Not Forward"), - N_("Follow-Up"), - N_("For Your Information"), - N_("Forward"), - N_("No Response Necessary"), - /* Translators: "Read" as in "has been read" (message-tag-followup.c) */ - N_("Read"), - N_("Reply"), - N_("Reply to All"), - N_("Review"), -}; - -static MessageTagEditorClass *parent_class = NULL; - -GType -message_tag_followup_get_type (void) -{ - static GType type = 0; - - if (!type) { - static const GTypeInfo info = { - sizeof (MessageTagFollowUpClass), - NULL, /* base_class_init */ - NULL, /* base_class_finalize */ - (GClassInitFunc) message_tag_followup_class_init, - NULL, /* class_finalize */ - NULL, /* class_data */ - sizeof (MessageTagFollowUp), - 0, - (GInstanceInitFunc) message_tag_followup_init, - }; - - type = g_type_register_static (message_tag_editor_get_type (), "MessageTagFollowUp", &info, 0); - } - - return type; -} - -static void -message_tag_followup_class_init (MessageTagFollowUpClass *klass) -{ - GObjectClass *object_class = G_OBJECT_CLASS (klass); - MessageTagEditorClass *editor_class = (MessageTagEditorClass *) klass; - - parent_class = g_type_class_ref (message_tag_editor_get_type ()); - - object_class->finalize = message_tag_followup_finalise; - - editor_class->get_tag_list = get_tag_list; - editor_class->set_tag_list = set_tag_list; -} - -static void -message_tag_followup_init (MessageTagFollowUp *editor) -{ - editor->combo_entry = NULL; - editor->target_date = NULL; - editor->completed = NULL; - editor->clear = NULL; - editor->completed_date = 0; -} - -static void -message_tag_followup_finalise (GObject *obj) -{ - MessageTagFollowUp *editor = (MessageTagFollowUp *) obj; - - editor->completed_date = 0; - - G_OBJECT_CLASS (parent_class)->finalize (obj); -} - -static CamelTag * -get_tag_list (MessageTagEditor *editor) -{ - MessageTagFollowUp *followup = (MessageTagFollowUp *) editor; - CamelTag *tags = NULL; - time_t date; - gchar *text; - - camel_tag_set (&tags, "follow-up", gtk_entry_get_text (GTK_ENTRY (gtk_bin_get_child (GTK_BIN (followup->combo_entry))))); - - date = e_date_edit_get_time (followup->target_date); - if (date != (time_t) -1) { - text = camel_header_format_date (date, 0); - camel_tag_set (&tags, "due-by", text); - g_free (text); - } else { - camel_tag_set (&tags, "due-by", ""); - } - - if (gtk_toggle_button_get_active (followup->completed)) { - text = camel_header_format_date (followup->completed_date, 0); - camel_tag_set (&tags, "completed-on", text); - g_free (text); - } else { - camel_tag_set (&tags, "completed-on", ""); - } - - return tags; -} - -static void -set_tag_list (MessageTagEditor *editor, CamelTag *tags) -{ - MessageTagFollowUp *followup = (MessageTagFollowUp *) editor; - const gchar *text; - time_t date; - - text = camel_tag_get (&tags, "follow-up"); - if (text) - gtk_entry_set_text (GTK_ENTRY (gtk_bin_get_child (GTK_BIN (followup->combo_entry))), text); - - text = camel_tag_get (&tags, "due-by"); - if (text && *text) { - date = camel_header_decode_date (text, NULL); - e_date_edit_set_time (followup->target_date, date); - } else { - e_date_edit_set_time (followup->target_date, (time_t) -1); - } - - text = camel_tag_get (&tags, "completed-on"); - if (text && *text) { - date = camel_header_decode_date (text, NULL); - if (date != (time_t) 0) { - gtk_toggle_button_set_active (followup->completed, TRUE); - followup->completed_date = date; - } - } -} - -static void -clear_clicked (GtkButton *button, gpointer user_data) -{ - MessageTagFollowUp *followup = user_data; - - gtk_combo_box_set_active (followup->combo_entry, DEFAULT_FLAG); - - e_date_edit_set_time (followup->target_date, (time_t) -1); - gtk_toggle_button_set_active (followup->completed, FALSE); -} - -static void -completed_toggled (GtkToggleButton *button, gpointer user_data) -{ - MessageTagFollowUp *followup = user_data; - - if (gtk_toggle_button_get_active (followup->completed)) - followup->completed_date = time (NULL); - else - followup->completed_date = 0; -} - -static gint -get_week_start_day (void) -{ - GConfClient *gconf; - - gconf = mail_config_get_gconf_client (); - return gconf_client_get_int (gconf, "/apps/evolution/calendar/display/week_start_day", NULL); -} - -static gboolean -locale_supports_12_hour_format (void) -{ - gchar s[16]; - time_t t = 0; - - strftime(s, sizeof s, "%p", gmtime (&t)); - return s[0] != '\0'; -} - -GtkWidget *target_date_new (const gchar *s1, const gchar *s2, gint i1, gint i2); - -GtkWidget * -target_date_new (const gchar *s1, const gchar *s2, gint i1, gint i2) -{ - gboolean time_24hour = TRUE; - GConfClient *gconf; - GtkWidget *widget; - gint start; - - widget = e_date_edit_new (); - e_date_edit_set_show_date (E_DATE_EDIT (widget), TRUE); - e_date_edit_set_show_time (E_DATE_EDIT (widget), TRUE); - - /* Note that this is 0 (Sun) to 6 (Sat), conver to 0 (mon) to 6 (sun) */ - start = (get_week_start_day () + 6) % 7; - - if (locale_supports_12_hour_format ()) { - gconf = mail_config_get_gconf_client (); - time_24hour = gconf_client_get_bool (gconf, "/apps/evolution/calendar/display/use_24hour_format", NULL); - } - - e_date_edit_set_week_start_day (E_DATE_EDIT (widget), start); - e_date_edit_set_use_24_hour_format (E_DATE_EDIT (widget), time_24hour); - e_date_edit_set_allow_no_date_set (E_DATE_EDIT (widget), TRUE); - e_date_edit_set_time_popup_range (E_DATE_EDIT (widget), 0, 24); - - return widget; -} - -static void -construct (MessageTagEditor *editor) -{ - MessageTagFollowUp *followup = (MessageTagFollowUp *) editor; - GtkCellRenderer *renderer; - GtkListStore *model; - GtkWidget *widget; - GladeXML *gui; - gint i; - gchar *gladefile; - - gtk_window_set_title (GTK_WINDOW (editor), _("Flag to Follow Up")); - - gtk_window_set_icon_name ( - GTK_WINDOW (editor), "stock_mail-flag-for-followup"); - - gtk_dialog_set_has_separator (GTK_DIALOG (editor), FALSE); - gtk_container_set_border_width (GTK_CONTAINER (GTK_DIALOG (editor)->vbox), 0); - gtk_container_set_border_width (GTK_CONTAINER (GTK_DIALOG (editor)->action_area), 12); - - gladefile = g_build_filename (EVOLUTION_GLADEDIR, - "mail-dialogs.glade", - NULL); - gui = glade_xml_new (gladefile, "followup_editor", NULL); - g_free (gladefile); - - widget = glade_xml_get_widget (gui, "toplevel"); - - /* reparent */ - gtk_widget_reparent (widget, GTK_DIALOG (editor)->vbox); - gtk_box_set_child_packing (GTK_BOX (GTK_DIALOG (editor)->vbox), widget, TRUE, TRUE, 6, GTK_PACK_START); - - widget = glade_xml_get_widget (gui, "pixmap"); - gtk_image_set_from_icon_name ( - GTK_IMAGE (widget), "stock_mail-flag-for-followup", - GTK_ICON_SIZE_DIALOG); - - followup->message_list = GTK_TREE_VIEW (glade_xml_get_widget (gui, "message_list")); - model = gtk_list_store_new (2, G_TYPE_STRING, G_TYPE_STRING); - gtk_tree_view_set_model (followup->message_list, (GtkTreeModel *) model); - - renderer = gtk_cell_renderer_text_new (); - gtk_tree_view_insert_column_with_attributes (followup->message_list, -1, _("From"), - renderer, "text", 0, NULL); - - renderer = gtk_cell_renderer_text_new (); - gtk_tree_view_insert_column_with_attributes (followup->message_list, -1, _("Subject"), - renderer, "text", 1, NULL); - - followup->combo_entry = GTK_COMBO_BOX (glade_xml_get_widget (gui, "combo")); - gtk_list_store_clear (GTK_LIST_STORE (gtk_combo_box_get_model (followup->combo_entry))); - for (i = 0; i < G_N_ELEMENTS (available_flags); i++) - gtk_combo_box_append_text (followup->combo_entry, (gchar *) _(available_flags[i])); - gtk_combo_box_set_active (followup->combo_entry, DEFAULT_FLAG); - - followup->target_date = E_DATE_EDIT (glade_xml_get_widget (gui, "target_date")); - /* glade bug, need to show this ourselves */ - gtk_widget_show ((GtkWidget *) followup->target_date); - e_date_edit_set_time (followup->target_date, (time_t) -1); - - followup->completed = GTK_TOGGLE_BUTTON (glade_xml_get_widget (gui, "completed")); - g_signal_connect (followup->completed, "toggled", G_CALLBACK (completed_toggled), followup); - - followup->clear = GTK_BUTTON (glade_xml_get_widget (gui, "clear")); - gtk_button_set_label (followup->clear, _("Clea_r")); - gtk_button_set_image (followup->clear, gtk_image_new_from_stock (GTK_STOCK_CLEAR, GTK_ICON_SIZE_BUTTON)); - g_signal_connect (followup->clear, "clicked", G_CALLBACK (clear_clicked), followup); - - g_object_unref (gui); -} - -MessageTagEditor * -message_tag_followup_new (void) -{ - MessageTagEditor *editor; - - editor = (MessageTagEditor *) g_object_new (message_tag_followup_get_type (), NULL); - construct (editor); - - return editor; -} - -void -message_tag_followup_append_message (MessageTagFollowUp *editor, const gchar *from, const gchar *subject) -{ - GtkTreeIter iter; - GtkListStore *model; - - g_return_if_fail (IS_MESSAGE_TAG_FOLLOWUP (editor)); - - model = (GtkListStore *) gtk_tree_view_get_model (editor->message_list); - - gtk_list_store_append (model, &iter); - gtk_list_store_set (model, &iter, 0, from, 1, subject, -1); -} diff --git a/mail/message-tag-followup.h b/mail/message-tag-followup.h deleted file mode 100644 index 87dde7637a..0000000000 --- a/mail/message-tag-followup.h +++ /dev/null @@ -1,73 +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 - * - * - * Authors: - * Jeffrey Stedfast - * - * Copyright (C) 1999-2008 Novell, Inc. (www.novell.com) - * - */ - -#ifndef __MESSAGE_TAG_FOLLOWUP_H__ -#define __MESSAGE_TAG_FOLLOWUP_H__ - -#include -#include - -G_BEGIN_DECLS - -#define MESSAGE_TAG_FOLLOWUP_TYPE (message_tag_followup_get_type ()) -#define MESSAGE_TAG_FOLLOWUP(obj) (G_TYPE_CHECK_INSTANCE_CAST (obj, MESSAGE_TAG_FOLLOWUP_TYPE, MessageTagFollowUp)) -#define MESSAGE_TAG_FOLLOWUP_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST (klass, MESSAGE_TAG_FOLLOWUP_TYPE, MessageTagFollowUpClass)) -#define IS_MESSAGE_TAG_FOLLOWUP(obj) (G_TYPE_CHECK_INSTANCE_TYPE (obj, MESSAGE_TAG_FOLLOWUP_TYPE)) -#define IS_MESSAGE_TAG_FOLLOWUP_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), MESSAGE_TAG_FOLLOWUP_TYPE)) -#define MESSAGE_TAG_FOLLOWUP_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), MESSAGE_TAG_FOLLOWUP_TYPE, MessageTagFollowUpClass)) - -typedef struct _MessageTagFollowUp MessageTagFollowUp; -typedef struct _MessageTagFollowUpClass MessageTagFollowUpClass; - -struct _MessageTagFollowUp { - MessageTagEditor parent; - - GtkTreeView *message_list; - - GtkComboBox *combo_entry; - - struct _EDateEdit *target_date; - GtkToggleButton *completed; - GtkButton *clear; - - time_t completed_date; -}; - -struct _MessageTagFollowUpClass { - MessageTagEditorClass parent_class; - - /* virtual methods */ - /* signals */ -}; - -GType message_tag_followup_get_type (void); - -MessageTagEditor *message_tag_followup_new (void); - -void message_tag_followup_append_message (MessageTagFollowUp *editor, - const gchar *from, - const gchar *subject); - -G_END_DECLS - -#endif /* __MESSAGE_TAG_FOLLOWUP_H__ */ -- cgit v1.2.3