aboutsummaryrefslogtreecommitdiffstats
path: root/mail/e-mail-reader.c
diff options
context:
space:
mode:
Diffstat (limited to 'mail/e-mail-reader.c')
-rw-r--r--mail/e-mail-reader.c19
1 files changed, 14 insertions, 5 deletions
diff --git a/mail/e-mail-reader.c b/mail/e-mail-reader.c
index 963b9e0f36..b08a4fcea5 100644
--- a/mail/e-mail-reader.c
+++ b/mail/e-mail-reader.c
@@ -1692,6 +1692,11 @@ action_mail_show_all_headers_cb (GtkToggleAction *action,
display = e_mail_reader_get_mail_display (reader);
+ /* mode change when viewing message source is ignored */
+ if (e_mail_display_get_mode (display) == E_MAIL_FORMATTER_MODE_SOURCE ||
+ e_mail_display_get_mode (display) == E_MAIL_FORMATTER_MODE_RAW)
+ return;
+
if (gtk_toggle_action_get_active (action))
e_mail_display_set_mode (display, E_MAIL_FORMATTER_MODE_ALL_HEADERS);
else
@@ -3821,10 +3826,7 @@ e_mail_reader_init (EMailReader *reader,
gboolean sensitive;
const gchar *action_name;
EMailDisplay *display;
-
-#ifndef G_OS_WIN32
GSettings *settings;
-#endif
g_return_if_fail (E_IS_MAIL_READER (reader));
@@ -3905,6 +3907,8 @@ e_mail_reader_init (EMailReader *reader,
action_group, mail_reader_search_folder_entries,
G_N_ELEMENTS (mail_reader_search_folder_entries), reader);
+ display = e_mail_reader_get_mail_display (reader);
+
/* Bind GObject properties to GSettings keys. */
settings = g_settings_new ("org.gnome.evolution.mail");
@@ -3921,6 +3925,13 @@ e_mail_reader_init (EMailReader *reader,
settings, "show-all-headers",
action, "active", G_SETTINGS_BIND_DEFAULT);
+ /* mode change when viewing message source is ignored */
+ if (e_mail_display_get_mode (display) == E_MAIL_FORMATTER_MODE_SOURCE ||
+ e_mail_display_get_mode (display) == E_MAIL_FORMATTER_MODE_RAW) {
+ gtk_action_set_sensitive (action, FALSE);
+ gtk_action_set_visible (action, FALSE);
+ }
+
g_object_unref (settings);
/* Fine tuning. */
@@ -3975,8 +3986,6 @@ e_mail_reader_init (EMailReader *reader,
gtk_action_set_is_important (action, TRUE);
gtk_action_set_short_label (action, _("Reply"));
- display = e_mail_reader_get_mail_display (reader);
-
action_name = "add-to-address-book";
action = e_mail_display_get_action (display, action_name);
g_signal_connect (