aboutsummaryrefslogtreecommitdiffstats
path: root/mail
diff options
context:
space:
mode:
authorDan Winship <danw@src.gnome.org>2001-05-15 01:18:03 +0800
committerDan Winship <danw@src.gnome.org>2001-05-15 01:18:03 +0800
commitb9401bbdf43b51b3596498d12ba2d73e2cca1805 (patch)
tree82d72a137b851efbfde70064f9d7fb3e6b81f6e7 /mail
parentf02973aaf4ee15e818981301e62b10ea1d225a53 (diff)
downloadgsoc2013-evolution-b9401bbdf43b51b3596498d12ba2d73e2cca1805.tar
gsoc2013-evolution-b9401bbdf43b51b3596498d12ba2d73e2cca1805.tar.gz
gsoc2013-evolution-b9401bbdf43b51b3596498d12ba2d73e2cca1805.tar.bz2
gsoc2013-evolution-b9401bbdf43b51b3596498d12ba2d73e2cca1805.tar.lz
gsoc2013-evolution-b9401bbdf43b51b3596498d12ba2d73e2cca1805.tar.xz
gsoc2013-evolution-b9401bbdf43b51b3596498d12ba2d73e2cca1805.tar.zst
gsoc2013-evolution-b9401bbdf43b51b3596498d12ba2d73e2cca1805.zip
Split "Other" page into three pages, Display, Composer, and PGP. Add HTML
* mail-config.glade: Split "Other" page into three pages, Display, Composer, and PGP. Add HTML image stuff on the Display page and default forward style on the Composer page. * mail-config.c (mail_config_get_default_forward_style, mail_config_set_default_forward_style): User-specified default style for forwarding messages. (config_read, mail_config_write_on_exit): Deal with forward style. * mail-accounts.c: Handle HTML image display options and default forward style. * mail-callbacks.c (forward): New. Forward in the user-selected default style. (forward_inline, forward_quoted): Simplify these some. Remove the fallback to forward attached when forwarding multiple messages: it should just forward the multiple messages inline or quoted in those cases. (Which it doesn't yet, but that's a bug.) * folder-browser.c (context_menu): Remove "Forward inline" and make "Forward" call forward() rather than forward_attached(). * folder-browser-factory.c: Update command/menu/toolbar/pixmap gunk for the "MessageForwardAttached" vs "MessageForward" split. * mail-session.c (mail_session_get_type): * mail-format.c (format_mime_part): * mail-account-gui.c (setup_service): Fix warnings. svn path=/trunk/; revision=9792
Diffstat (limited to 'mail')
-rw-r--r--mail/ChangeLog31
-rw-r--r--mail/folder-browser-factory.c5
-rw-r--r--mail/folder-browser.c4
-rw-r--r--mail/mail-account-gui.c2
-rw-r--r--mail/mail-accounts.c75
-rw-r--r--mail/mail-accounts.h21
-rw-r--r--mail/mail-callbacks.c130
-rw-r--r--mail/mail-callbacks.h10
-rw-r--r--mail/mail-config.c27
-rw-r--r--mail/mail-config.glade187
-rw-r--r--mail/mail-config.h8
-rw-r--r--mail/mail-format.c1
-rw-r--r--mail/mail-local.c6
-rw-r--r--mail/mail-session.c2
14 files changed, 371 insertions, 138 deletions
diff --git a/mail/ChangeLog b/mail/ChangeLog
index 508ef65d7e..db4e76ae05 100644
--- a/mail/ChangeLog
+++ b/mail/ChangeLog
@@ -1,3 +1,34 @@
+2001-05-14 Dan Winship <danw@ximian.com>
+
+ * mail-config.glade: Split "Other" page into three pages, Display,
+ Composer, and PGP. Add HTML image stuff on the Display page and
+ default forward style on the Composer page.
+
+ * mail-config.c (mail_config_get_default_forward_style,
+ mail_config_set_default_forward_style): User-specified default
+ style for forwarding messages.
+ (config_read, mail_config_write_on_exit): Deal with forward style.
+
+ * mail-accounts.c: Handle HTML image display options and default
+ forward style.
+
+ * mail-callbacks.c (forward): New. Forward in the user-selected
+ default style.
+ (forward_inline, forward_quoted): Simplify these some. Remove the
+ fallback to forward attached when forwarding multiple messages: it
+ should just forward the multiple messages inline or quoted in
+ those cases. (Which it doesn't yet, but that's a bug.)
+
+ * folder-browser.c (context_menu): Remove "Forward inline" and
+ make "Forward" call forward() rather than forward_attached().
+
+ * folder-browser-factory.c: Update command/menu/toolbar/pixmap
+ gunk for the "MessageForwardAttached" vs "MessageForward" split.
+
+ * mail-session.c (mail_session_get_type):
+ * mail-format.c (format_mime_part):
+ * mail-account-gui.c (setup_service): Fix warnings.
+
2001-05-14 Jon Trowbridge <trow@ximian.com>
* folder-browser.c (folder_browser_config_search): Use secondary
diff --git a/mail/folder-browser-factory.c b/mail/folder-browser-factory.c
index ac0970319b..64a91eeacc 100644
--- a/mail/folder-browser-factory.c
+++ b/mail/folder-browser-factory.c
@@ -70,8 +70,9 @@ BonoboUIVerb verbs [] = {
BONOBO_UI_UNSAFE_VERB ("MessagePrint", print_msg),
BONOBO_UI_UNSAFE_VERB ("MessageReplySender", reply_to_sender),
BONOBO_UI_UNSAFE_VERB ("MessageReplyAll", reply_to_all),
+ BONOBO_UI_UNSAFE_VERB ("MessageForward", forward),
BONOBO_UI_UNSAFE_VERB ("MessageForwardAttached", forward_attached),
- BONOBO_UI_UNSAFE_VERB ("MessageForwardInlined", forward_inlined),
+ BONOBO_UI_UNSAFE_VERB ("MessageForwardInline", forward_inline),
BONOBO_UI_UNSAFE_VERB ("MessageForwardQuoted", forward_quoted),
BONOBO_UI_UNSAFE_VERB ("MessageMarkAsRead", mark_as_seen),
@@ -136,7 +137,7 @@ static EPixmap pixcache [] = {
E_PIXMAP ("/menu/Actions/Component/MessageMove", "move_message.xpm"),
E_PIXMAP ("/menu/Actions/Component/MessageReplyAll", "reply_to_all.xpm"),
E_PIXMAP ("/menu/Actions/Component/MessageReplySender", "reply.xpm"),
- E_PIXMAP ("/menu/Actions/Component/MessageForwardAttached", "forward.xpm"),
+ E_PIXMAP ("/menu/Actions/Component/MessageForward", "forward.xpm"),
E_PIXMAP ("/menu/Tools/Component/SetMailConfig", "configure_16_mail.xpm"),
diff --git a/mail/folder-browser.c b/mail/folder-browser.c
index 2d904dab22..bf99655f3b 100644
--- a/mail/folder-browser.c
+++ b/mail/folder-browser.c
@@ -634,9 +634,7 @@ static EPopupMenu context_menu[] = {
{ N_("Reply to _All"), NULL,
GTK_SIGNAL_FUNC (reply_to_all), NULL, 0 },
{ N_("_Forward"), NULL,
- GTK_SIGNAL_FUNC (forward_attached), NULL, 0 },
- { N_("Forward _inline"), NULL,
- GTK_SIGNAL_FUNC (forward_inlined), NULL, 0 },
+ GTK_SIGNAL_FUNC (forward), NULL, 0 },
{ "", NULL, (NULL), NULL, 0 },
{ N_("Mar_k as Read"), NULL,
GTK_SIGNAL_FUNC (mark_as_seen), NULL, CAN_MARK_READ },
diff --git a/mail/mail-account-gui.c b/mail/mail-account-gui.c
index 971d83773c..6e4cd27336 100644
--- a/mail/mail-account-gui.c
+++ b/mail/mail-account-gui.c
@@ -703,7 +703,7 @@ setup_service (MailAccountGuiService *gsvc, MailConfigService *service)
gboolean has_auth = FALSE;
if (url == NULL)
- return;
+ return FALSE;
if (url->user && CAMEL_PROVIDER_ALLOWS (gsvc->provider, CAMEL_URL_PART_USER))
gtk_entry_set_text (gsvc->username, url->user);
diff --git a/mail/mail-accounts.c b/mail/mail-accounts.c
index 09e1903cba..b98a426eb9 100644
--- a/mail/mail-accounts.c
+++ b/mail/mail-accounts.c
@@ -518,10 +518,42 @@ set_color (GnomeColorPicker *cp)
}
static void
+images_radio_toggled (GtkWidget *radio, gpointer data)
+{
+ MailAccountsDialog *dialog = data;
+
+ if (radio == (GtkWidget *)dialog->images_always)
+ mail_config_set_http_mode (MAIL_CONFIG_HTTP_ALWAYS);
+ else if (radio == (GtkWidget *)dialog->images_sometimes)
+ mail_config_set_http_mode (MAIL_CONFIG_HTTP_SOMETIMES);
+ else
+ mail_config_set_http_mode (MAIL_CONFIG_HTTP_NEVER);
+}
+
+static void
+forward_style_activated (GtkWidget *item, gpointer data)
+{
+ int style = GPOINTER_TO_INT (data);
+
+ mail_config_set_default_forward_style (style);
+}
+
+static void
+attach_forward_style_signal (GtkWidget *item, gpointer data)
+{
+ int *num = data;
+
+ gtk_signal_connect (GTK_OBJECT (item), "activate",
+ forward_style_activated, GINT_TO_POINTER (*num));
+ (*num)++;
+}
+
+static void
construct (MailAccountsDialog *dialog)
{
GladeXML *gui;
GtkWidget *notebook;
+ int num;
gui = glade_xml_new (EVOLUTION_GLADEDIR "/mail-config.glade", NULL);
dialog->gui = gui;
@@ -581,30 +613,47 @@ construct (MailAccountsDialog *dialog)
gtk_notebook_remove_page (GTK_NOTEBOOK (notebook), 1);
#endif
- /* get those temp widgets */
- dialog->send_html = GTK_CHECK_BUTTON (glade_xml_get_widget (gui, "chkSendHTML"));
- gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (dialog->send_html),
- mail_config_get_send_html ());
- gtk_signal_connect (GTK_OBJECT (dialog->send_html), "toggled",
- GTK_SIGNAL_FUNC (send_html_toggled), dialog);
-
- dialog->citation_highlight = GTK_CHECK_BUTTON (glade_xml_get_widget (gui, "chckHighlightCitations"));
- gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (dialog->citation_highlight),
- mail_config_get_citation_highlight ());
+ /* Display page */
+ dialog->citation_highlight = GTK_TOGGLE_BUTTON (glade_xml_get_widget (gui, "chckHighlightCitations"));
+ gtk_toggle_button_set_active (dialog->citation_highlight, mail_config_get_citation_highlight ());
gtk_signal_connect (GTK_OBJECT (dialog->citation_highlight), "toggled",
GTK_SIGNAL_FUNC (citation_highlight_toggled), dialog);
-
dialog->citation_color = GNOME_COLOR_PICKER (glade_xml_get_widget (gui, "colorpickerCitations"));
set_color (dialog->citation_color);
gtk_signal_connect (GTK_OBJECT (dialog->citation_color), "color_set",
GTK_SIGNAL_FUNC (citation_color_set), dialog);
dialog->timeout = GTK_SPIN_BUTTON (glade_xml_get_widget (gui, "spinMarkTimeout"));
- gtk_spin_button_set_value (GTK_SPIN_BUTTON (dialog->timeout),
- (1.0 * mail_config_get_mark_as_seen_timeout ()) / 1000.0);
+ gtk_spin_button_set_value (dialog->timeout, (1.0 * mail_config_get_mark_as_seen_timeout ()) / 1000.0);
gtk_signal_connect (GTK_OBJECT (dialog->timeout), "changed",
GTK_SIGNAL_FUNC (timeout_changed), dialog);
+ dialog->images_never = GTK_TOGGLE_BUTTON (glade_xml_get_widget (gui, "radioImagesNever"));
+ gtk_toggle_button_set_active (dialog->images_never, mail_config_get_http_mode () == MAIL_CONFIG_HTTP_NEVER);
+ gtk_signal_connect (GTK_OBJECT (dialog->images_never), "toggled",
+ GTK_SIGNAL_FUNC (images_radio_toggled), dialog);
+ dialog->images_sometimes = GTK_TOGGLE_BUTTON (glade_xml_get_widget (gui, "radioImagesSometimes"));
+ gtk_toggle_button_set_active (dialog->images_sometimes, mail_config_get_http_mode () == MAIL_CONFIG_HTTP_SOMETIMES);
+ gtk_signal_connect (GTK_OBJECT (dialog->images_sometimes), "toggled",
+ GTK_SIGNAL_FUNC (images_radio_toggled), dialog);
+ dialog->images_always = GTK_TOGGLE_BUTTON (glade_xml_get_widget (gui, "radioImagesAlways"));
+ gtk_toggle_button_set_active (dialog->images_always, mail_config_get_http_mode () == MAIL_CONFIG_HTTP_ALWAYS);
+ gtk_signal_connect (GTK_OBJECT (dialog->images_always), "toggled",
+ GTK_SIGNAL_FUNC (images_radio_toggled), dialog);
+
+ /* Composer page */
+ dialog->send_html = GTK_TOGGLE_BUTTON (glade_xml_get_widget (gui, "chkSendHTML"));
+ gtk_toggle_button_set_active (dialog->send_html, mail_config_get_send_html ());
+ gtk_signal_connect (GTK_OBJECT (dialog->send_html), "toggled",
+ GTK_SIGNAL_FUNC (send_html_toggled), dialog);
+
+ dialog->forward_style = GTK_OPTION_MENU (glade_xml_get_widget (gui, "omenuForwardStyle"));
+ gtk_option_menu_set_history (dialog->forward_style, mail_config_get_default_forward_style ());
+ /* Hm. This sucks... */
+ num = 0;
+ gtk_container_foreach (GTK_CONTAINER (gtk_option_menu_get_menu (dialog->forward_style)),
+ attach_forward_style_signal, &num);
+
dialog->pgp_path = GNOME_FILE_ENTRY (glade_xml_get_widget (gui, "filePgpPath"));
gtk_entry_set_text (GTK_ENTRY (gnome_file_entry_gtk_entry (dialog->pgp_path)),
mail_config_get_pgp_path ());
diff --git a/mail/mail-accounts.h b/mail/mail-accounts.h
index 1d9bb65eb0..91de24e6d1 100644
--- a/mail/mail-accounts.h
+++ b/mail/mail-accounts.h
@@ -29,7 +29,8 @@ extern "C" {
#endif /* __cplusplus */
#include <gtk/gtkclist.h>
-#include <gtk/gtkcheckbutton.h>
+#include <gtk/gtktogglebutton.h>
+#include <gtk/gtkoptionmenu.h>
#include <gtk/gtkspinbutton.h>
#include <libgnomeui/gnome-color-picker.h>
#include <libgnomeui/gnome-dialog.h>
@@ -53,7 +54,8 @@ struct _MailAccountsDialog {
const GSList *accounts;
gint accounts_row;
-
+
+ /* Accounts page */
GtkCList *mail_accounts;
GtkButton *mail_add;
GtkButton *mail_edit;
@@ -63,17 +65,24 @@ struct _MailAccountsDialog {
const GSList *news;
gint news_row;
-
+
+ /* News page */
GtkCList *news_accounts;
GtkButton *news_add;
GtkButton *news_edit;
GtkButton *news_delete;
- /* "Other" widgets */
- GtkCheckButton *send_html;
- GtkCheckButton *citation_highlight;
+ /* Display page */
+ GtkToggleButton *citation_highlight;
GnomeColorPicker *citation_color;
GtkSpinButton *timeout;
+ GtkToggleButton *images_always, *images_sometimes, *images_never;
+
+ /* Composer page */
+ GtkToggleButton *send_html;
+ GtkOptionMenu *forward_style;
+
+ /* PGP page */
GnomeFileEntry *pgp_path;
};
diff --git a/mail/mail-callbacks.c b/mail/mail-callbacks.c
index c3223ea15e..ca0ba70d53 100644
--- a/mail/mail-callbacks.c
+++ b/mail/mail-callbacks.c
@@ -740,114 +740,69 @@ forward_get_composer (const char *subject)
}
static void
-do_forward_inline (CamelFolder *folder, char *uid, CamelMimeMessage *message, void *data)
+do_forward_non_attached (CamelFolder *folder, char *uid, CamelMimeMessage *message, void *data)
{
char *subject;
char *text;
- if (message) {
- subject = mail_tool_generate_forward_subject (message);
- text = mail_tool_forward_message (message);
-
- if (text) {
- EMsgComposer *composer = forward_get_composer (subject);
- if (composer) {
- e_msg_composer_set_body_text (composer, text);
- gtk_widget_show (GTK_WIDGET (composer));
- e_msg_composer_unset_changed (composer);
- }
- g_free (text);
- }
-
- g_free (subject);
- }
-}
+ if (!message)
+ return;
-static void
-do_forward_quoted (CamelFolder *folder, char *uid, CamelMimeMessage *message, void *data)
-{
- char *subject;
- char *text;
-
- if (message) {
- subject = mail_tool_generate_forward_subject (message);
+ subject = mail_tool_generate_forward_subject (message);
+ if (GPOINTER_TO_INT (data) == MAIL_CONFIG_FORWARD_INLINE)
+ text = mail_tool_forward_message (message);
+ else
text = mail_tool_quote_message (message, _("Forwarded message:\n"));
-
- if (text) {
- EMsgComposer *composer = forward_get_composer (subject);
- if (composer) {
- e_msg_composer_set_body_text (composer, text);
- gtk_widget_show (GTK_WIDGET (composer));
- e_msg_composer_unset_changed (composer);
- }
- g_free (text);
- }
-
- g_free (subject);
- }
-}
-static void
-do_forward_attach (CamelFolder *folder, GPtrArray *messages, CamelMimePart *part, char *subject, void *data)
-{
- if (part) {
+ if (text) {
EMsgComposer *composer = forward_get_composer (subject);
if (composer) {
- e_msg_composer_attach (composer, part);
+ e_msg_composer_set_body_text (composer, text);
gtk_widget_show (GTK_WIDGET (composer));
e_msg_composer_unset_changed (composer);
}
+ g_free (text);
}
-}
-void
-forward_messages (CamelFolder *folder, GPtrArray *uids, int flags)
-{
- if (flags == FORWARD_INLINE && uids->len == 1) {
- mail_get_message (folder, uids->pdata[0], do_forward_inline, NULL, mail_thread_new);
- } else if (flags == FORWARD_QUOTED && uids->len == 1) {
- mail_get_message (folder, uids->pdata[0], do_forward_quoted, NULL, mail_thread_new);
- } else {
- mail_build_attachment (folder, uids, do_forward_attach, NULL);
- }
+ g_free (subject);
}
-void
-forward_inlined (GtkWidget *widget, gpointer user_data)
+static void
+forward_message (FolderBrowser *fb, MailConfigForwardStyle style)
{
- FolderBrowser *fb = FOLDER_BROWSER (user_data);
- GPtrArray *uids;
-
if (!fb->message_list->cursor_uid)
return;
-
if (!check_send_configuration (fb))
return;
-
- uids = g_ptr_array_new ();
- g_ptr_array_add (uids, g_strdup (fb->message_list->cursor_uid));
- forward_messages (fb->message_list->folder, uids, FORWARD_INLINE);
- g_free (uids->pdata[0]);
- g_ptr_array_free (uids, TRUE);
+
+ mail_get_message (fb->folder, fb->message_list->cursor_uid,
+ do_forward_non_attached, GINT_TO_POINTER (style),
+ mail_thread_new);
+}
+
+void
+forward_inline (GtkWidget *widget, gpointer user_data)
+{
+ forward_message (user_data, MAIL_CONFIG_FORWARD_INLINE);
}
void
forward_quoted (GtkWidget *widget, gpointer user_data)
{
- FolderBrowser *fb = FOLDER_BROWSER (user_data);
- GPtrArray *uids;
-
- if (!fb->message_list->cursor_uid)
- return;
-
- if (!check_send_configuration (fb))
- return;
-
- uids = g_ptr_array_new ();
- g_ptr_array_add (uids, g_strdup (fb->message_list->cursor_uid));
- forward_messages (fb->message_list->folder, uids, FORWARD_QUOTED);
- g_free (uids->pdata[0]);
- g_ptr_array_free (uids, TRUE);
+ forward_message (user_data, MAIL_CONFIG_FORWARD_QUOTED);
+}
+
+static void
+do_forward_attach (CamelFolder *folder, GPtrArray *messages, CamelMimePart *part, char *subject, void *data)
+{
+ if (part) {
+ EMsgComposer *composer = forward_get_composer (subject);
+ if (composer) {
+ e_msg_composer_attach (composer, part);
+ gtk_widget_show (GTK_WIDGET (composer));
+ e_msg_composer_unset_changed (composer);
+ }
+ }
}
void
@@ -864,6 +819,17 @@ forward_attached (GtkWidget *widget, gpointer user_data)
mail_build_attachment (fb->message_list->folder, uids, do_forward_attach, NULL);
}
+void
+forward (GtkWidget *widget, gpointer user_data)
+{
+ MailConfigForwardStyle style = mail_config_get_default_forward_style ();
+
+ if (style == MAIL_CONFIG_FORWARD_ATTACHED)
+ forward_attached (widget, user_data);
+ else
+ forward_message (user_data, style);
+}
+
static void
transfer_msg (GtkWidget *widget, gpointer user_data, gboolean delete_from_source)
{
diff --git a/mail/mail-callbacks.h b/mail/mail-callbacks.h
index a241f45b20..a800d9a04e 100644
--- a/mail/mail-callbacks.h
+++ b/mail/mail-callbacks.h
@@ -42,16 +42,10 @@ void send_receive_mail (GtkWidget *widget, gpointer user_data);
void compose_msg (GtkWidget *widget, gpointer user_data);
void send_to_url (const char *url);
-enum {
- FORWARD_INLINE,
- FORWARD_QUOTED,
- FORWARD_ATTACHED
-};
-
-void forward_messages (CamelFolder *folder, GPtrArray *uids, int flag);
-void forward_inlined (GtkWidget *widget, gpointer user_data);
+void forward_inline (GtkWidget *widget, gpointer user_data);
void forward_quoted (GtkWidget *widget, gpointer user_data);
void forward_attached (GtkWidget *widget, gpointer user_data);
+void forward (GtkWidget *widget, gpointer user_data);
void reply_to_sender (GtkWidget *widget, gpointer user_data);
void reply_to_all (GtkWidget *widget, gpointer user_data);
diff --git a/mail/mail-config.c b/mail/mail-config.c
index 3a76d57805..bead41108f 100644
--- a/mail/mail-config.c
+++ b/mail/mail-config.c
@@ -67,6 +67,7 @@ typedef struct {
CamelPgpType pgp_type;
MailConfigHTTPMode http_mode;
+ MailConfigForwardStyle default_forward_style;
} MailConfig;
static const char GCONFPATH[] = "/apps/Evolution/Mail";
@@ -460,6 +461,14 @@ config_read (void)
config->http_mode = MAIL_CONFIG_HTTP_NEVER;
g_free (str);
+ /* Forwarding */
+ str = g_strdup_printf ("=%s/config/Mail=/Format/defaul_forward_style",
+ evolution_dir);
+ config->default_forward_style = gnome_config_get_int_with_default (str, &def);
+ if (def)
+ config->default_forward_style = MAIL_CONFIG_FORWARD_ATTACHED;
+ g_free (str);
+
gnome_config_sync ();
}
@@ -642,6 +651,12 @@ mail_config_write_on_exit (void)
gnome_config_set_int (str, config->http_mode);
g_free (str);
+ /* Forwarding */
+ str = g_strdup_printf ("=%s/config/Mail=/Format/default_forward_style",
+ evolution_dir);
+ gnome_config_set_int (str, config->default_forward_style);
+ g_free (str);
+
/* Passwords */
gnome_config_private_clean_section ("/Evolution/Passwords");
sources = mail_config_get_sources ();
@@ -886,6 +901,18 @@ mail_config_set_http_mode (MailConfigHTTPMode mode)
config->http_mode = mode;
}
+MailConfigForwardStyle
+mail_config_get_default_forward_style (void)
+{
+ return config->default_forward_style;
+}
+
+void
+mail_config_set_default_forward_style (MailConfigForwardStyle style)
+{
+ config->default_forward_style = style;
+}
+
const MailConfigAccount *
mail_config_get_default_account (void)
{
diff --git a/mail/mail-config.glade b/mail/mail-config.glade
index efd09518e4..9b78e05c33 100644
--- a/mail/mail-config.glade
+++ b/mail/mail-config.glade
@@ -1881,24 +1881,11 @@ Kerberos
<widget>
<class>GtkVBox</class>
<name>vbox38</name>
+ <border_width>4</border_width>
<homogeneous>False</homogeneous>
<spacing>4</spacing>
<widget>
- <class>GtkCheckButton</class>
- <name>chkSendHTML</name>
- <can_focus>True</can_focus>
- <label>Send mail in HTML format by default.</label>
- <active>False</active>
- <draw_indicator>True</draw_indicator>
- <child>
- <padding>0</padding>
- <expand>False</expand>
- <fill>False</fill>
- </child>
- </widget>
-
- <widget>
<class>GtkHBox</class>
<name>hbox42</name>
<homogeneous>False</homogeneous>
@@ -1913,7 +1900,7 @@ Kerberos
<class>GtkCheckButton</class>
<name>chckHighlightCitations</name>
<can_focus>True</can_focus>
- <label>Highlight citations with </label>
+ <label>Highlight citations with</label>
<active>False</active>
<draw_indicator>True</draw_indicator>
<child>
@@ -2025,6 +2012,172 @@ Kerberos
</widget>
<widget>
+ <class>GtkFrame</class>
+ <name>frame1</name>
+ <label>In HTML mail</label>
+ <label_xalign>0</label_xalign>
+ <shadow_type>GTK_SHADOW_ETCHED_IN</shadow_type>
+ <child>
+ <padding>0</padding>
+ <expand>False</expand>
+ <fill>True</fill>
+ </child>
+
+ <widget>
+ <class>GtkVBox</class>
+ <name>vbox65</name>
+ <homogeneous>False</homogeneous>
+ <spacing>0</spacing>
+
+ <widget>
+ <class>GtkRadioButton</class>
+ <name>radioImagesNever</name>
+ <can_focus>True</can_focus>
+ <label>Never load images off the net</label>
+ <active>False</active>
+ <draw_indicator>True</draw_indicator>
+ <group>images</group>
+ <child>
+ <padding>0</padding>
+ <expand>False</expand>
+ <fill>False</fill>
+ </child>
+ </widget>
+
+ <widget>
+ <class>GtkRadioButton</class>
+ <name>radioImagesSometimes</name>
+ <can_focus>True</can_focus>
+ <label>Load images if sender is in addressbook</label>
+ <active>True</active>
+ <draw_indicator>True</draw_indicator>
+ <group>images</group>
+ <child>
+ <padding>0</padding>
+ <expand>False</expand>
+ <fill>False</fill>
+ </child>
+ </widget>
+
+ <widget>
+ <class>GtkRadioButton</class>
+ <name>radioImagesAlways</name>
+ <can_focus>True</can_focus>
+ <label>Always load images off the net</label>
+ <active>False</active>
+ <draw_indicator>True</draw_indicator>
+ <group>images</group>
+ <child>
+ <padding>0</padding>
+ <expand>False</expand>
+ <fill>False</fill>
+ </child>
+ </widget>
+ </widget>
+ </widget>
+ </widget>
+
+ <widget>
+ <class>GtkLabel</class>
+ <child_name>Notebook:tab</child_name>
+ <name>display_config_label</name>
+ <label>Display</label>
+ <justify>GTK_JUSTIFY_CENTER</justify>
+ <wrap>False</wrap>
+ <xalign>0.5</xalign>
+ <yalign>0.5</yalign>
+ <xpad>0</xpad>
+ <ypad>0</ypad>
+ </widget>
+
+ <widget>
+ <class>GtkVBox</class>
+ <name>vbox63</name>
+ <border_width>4</border_width>
+ <homogeneous>False</homogeneous>
+ <spacing>4</spacing>
+
+ <widget>
+ <class>GtkCheckButton</class>
+ <name>chkSendHTML</name>
+ <can_focus>True</can_focus>
+ <label>Send mail in HTML format by default.</label>
+ <active>False</active>
+ <draw_indicator>True</draw_indicator>
+ <child>
+ <padding>0</padding>
+ <expand>False</expand>
+ <fill>False</fill>
+ </child>
+ </widget>
+
+ <widget>
+ <class>GtkHBox</class>
+ <name>hbox55</name>
+ <homogeneous>False</homogeneous>
+ <spacing>0</spacing>
+ <child>
+ <padding>0</padding>
+ <expand>False</expand>
+ <fill>True</fill>
+ </child>
+
+ <widget>
+ <class>GtkLabel</class>
+ <name>label39</name>
+ <label>Default &quot;Forward&quot; style is: </label>
+ <justify>GTK_JUSTIFY_CENTER</justify>
+ <wrap>False</wrap>
+ <xalign>0.5</xalign>
+ <yalign>0.5</yalign>
+ <xpad>0</xpad>
+ <ypad>0</ypad>
+ <child>
+ <padding>0</padding>
+ <expand>False</expand>
+ <fill>False</fill>
+ </child>
+ </widget>
+
+ <widget>
+ <class>GtkOptionMenu</class>
+ <name>omenuForwardStyle</name>
+ <can_focus>True</can_focus>
+ <items>Attachment
+Inline
+Quoted
+</items>
+ <initial_choice>0</initial_choice>
+ <child>
+ <padding>0</padding>
+ <expand>False</expand>
+ <fill>False</fill>
+ </child>
+ </widget>
+ </widget>
+ </widget>
+
+ <widget>
+ <class>GtkLabel</class>
+ <child_name>Notebook:tab</child_name>
+ <name>composer_config_label</name>
+ <label>Composer</label>
+ <justify>GTK_JUSTIFY_CENTER</justify>
+ <wrap>False</wrap>
+ <xalign>0.5</xalign>
+ <yalign>0.5</yalign>
+ <xpad>0</xpad>
+ <ypad>0</ypad>
+ </widget>
+
+ <widget>
+ <class>GtkVBox</class>
+ <name>vbox64</name>
+ <border_width>4</border_width>
+ <homogeneous>False</homogeneous>
+ <spacing>4</spacing>
+
+ <widget>
<class>GtkHBox</class>
<name>hbox41</name>
<homogeneous>False</homogeneous>
@@ -2082,8 +2235,8 @@ Kerberos
<widget>
<class>GtkLabel</class>
<child_name>Notebook:tab</child_name>
- <name>other_config_label</name>
- <label>Other</label>
+ <name>pgp_config_label</name>
+ <label>PGP</label>
<justify>GTK_JUSTIFY_CENTER</justify>
<wrap>False</wrap>
<xalign>0.5</xalign>
diff --git a/mail/mail-config.h b/mail/mail-config.h
index 31e31ddb2f..46b6e17035 100644
--- a/mail/mail-config.h
+++ b/mail/mail-config.h
@@ -64,6 +64,11 @@ typedef enum {
MAIL_CONFIG_HTTP_ALWAYS,
} MailConfigHTTPMode;
+typedef enum {
+ MAIL_CONFIG_FORWARD_ATTACHED, MAIL_CONFIG_FORWARD_INLINE,
+ MAIL_CONFIG_FORWARD_QUOTED,
+} MailConfigForwardStyle;
+
/* Identities */
MailConfigIdentity *identity_copy (const MailConfigIdentity *id);
void identity_destroy (MailConfigIdentity *id);
@@ -123,6 +128,9 @@ void mail_config_set_pgp_path (const char *pgp_path);
MailConfigHTTPMode mail_config_get_http_mode (void);
void mail_config_set_http_mode (MailConfigHTTPMode);
+MailConfigForwardStyle mail_config_get_default_forward_style (void);
+void mail_config_set_default_forward_style (MailConfigForwardStyle);
+
const MailConfigAccount *mail_config_get_default_account (void);
const MailConfigAccount *mail_config_get_account_by_name (const char *account_name);
const MailConfigAccount *mail_config_get_account_by_source_url (const char *url);
diff --git a/mail/mail-format.c b/mail/mail-format.c
index 35bb64f164..848dab7bbd 100644
--- a/mail/mail-format.c
+++ b/mail/mail-format.c
@@ -561,7 +561,6 @@ format_mime_part (CamelMimePart *part, MailDisplay *md)
char *mime_type;
MailMimeHandler *handler;
gboolean output, is_inline;
- const char *location;
/* Record URLs associated with this part */
get_cid (part, md);
diff --git a/mail/mail-local.c b/mail/mail-local.c
index 14e2f15c85..960288e6e7 100644
--- a/mail/mail-local.c
+++ b/mail/mail-local.c
@@ -207,8 +207,7 @@ static char *get_name (CamelService *service, gboolean brief);
static CamelFolder *get_folder (CamelStore *store, const char *folder_name,
guint32 flags, CamelException *ex);
static CamelFolderInfo *get_folder_info (CamelStore *store, const char *top,
- gboolean fast, gboolean recursive,
- gboolean subscribed_only, CamelException *ex);
+ guint32 flags, CamelException *ex);
static void delete_folder (CamelStore *store, const char *folder_name,
CamelException *ex);
static void rename_folder (CamelStore *store, const char *old_name,
@@ -402,8 +401,7 @@ populate_folders (gpointer key, gpointer data, gpointer user_data)
static CamelFolderInfo *
get_folder_info (CamelStore *store, const char *top,
- gboolean fast, gboolean recursive,
- gboolean subscribed_only, CamelException *ex)
+ guint32 flags, CamelException *ex)
{
MailLocalStore *local_store = MAIL_LOCAL_STORE (store);
CamelFolderInfo *fi = NULL;
diff --git a/mail/mail-session.c b/mail/mail-session.c
index ea56f67394..1c45375b79 100644
--- a/mail/mail-session.c
+++ b/mail/mail-session.c
@@ -104,7 +104,7 @@ class_init (MailSessionClass *mail_session_class)
camel_session_class->remove_timeout = remove_timeout;
}
-CamelType
+static CamelType
mail_session_get_type (void)
{
static CamelType mail_session_type = CAMEL_INVALID_TYPE;