[evolution] Express: Composer always defaults to HTML mode



commit c516014a5afb2338d1b2e6d7b0438a1835bf9fa8
Author: Matthew Barnes <mbarnes redhat com>
Date:   Tue Mar 30 08:27:49 2010 -0400

    Express: Composer always defaults to HTML mode
    
    Composer and signature editor always default to HTML in Express mode.
    Hide the corresponding composer preference.  This will not affect the
    user preference in normal mode.

 composer/e-msg-composer.c           |    4 ----
 mail/em-account-editor.c            |    5 -----
 modules/mail/e-mail-shell-backend.c |   11 +++++++++++
 modules/mail/em-composer-prefs.c    |   19 +++++++++++++------
 4 files changed, 24 insertions(+), 15 deletions(-)
---
diff --git a/composer/e-msg-composer.c b/composer/e-msg-composer.c
index 0cb0a50..77c15f2 100644
--- a/composer/e-msg-composer.c
+++ b/composer/e-msg-composer.c
@@ -1661,10 +1661,6 @@ msg_composer_constructed (GObject *object)
 
 	/* Honor User Preferences */
 
-	active = e_shell_settings_get_boolean (
-		shell_settings, "composer-format-html");
-	gtkhtml_editor_set_html_mode (GTKHTML_EDITOR (composer), active);
-
 	action = GTK_TOGGLE_ACTION (ACTION (REQUEST_READ_RECEIPT));
 	active = e_shell_settings_get_boolean (
 		shell_settings, "composer-request-receipt");
diff --git a/mail/em-account-editor.c b/mail/em-account-editor.c
index 77d2dc8..d3158fb 100644
--- a/mail/em-account-editor.c
+++ b/mail/em-account-editor.c
@@ -835,7 +835,6 @@ emae_signature_new (GtkWidget *widget, EMAccountEditor *emae)
 	EShell *shell;
 	EShellSettings *shell_settings;
 	GtkWidget *editor;
-	gboolean html_mode;
 	gpointer parent;
 
 	shell = e_shell_get_default ();
@@ -844,11 +843,7 @@ emae_signature_new (GtkWidget *widget, EMAccountEditor *emae)
 	parent = gtk_widget_get_toplevel (widget);
 	parent = gtk_widget_is_toplevel (parent) ? parent : NULL;
 
-	html_mode = e_shell_settings_get_boolean (
-		shell_settings, "composer-format-html");
-
 	editor = e_signature_editor_new ();
-	gtkhtml_editor_set_html_mode (GTKHTML_EDITOR (editor), html_mode);
 	gtk_window_set_transient_for (GTK_WINDOW (editor), parent);
 	gtk_widget_show (editor);
 }
diff --git a/modules/mail/e-mail-shell-backend.c b/modules/mail/e-mail-shell-backend.c
index 00b4a78..b3eb0a9 100644
--- a/modules/mail/e-mail-shell-backend.c
+++ b/modules/mail/e-mail-shell-backend.c
@@ -413,12 +413,23 @@ mail_shell_backend_window_created_cb (EShell *shell,
 
 	/* This applies to both the composer and signature editor. */
 	if (GTKHTML_IS_EDITOR (window)) {
+		EShellSettings *shell_settings;
 		GList *spell_languages;
+		gboolean active = TRUE;
 
 		spell_languages = e_load_spell_languages ();
 		gtkhtml_editor_set_spell_languages (
 			GTKHTML_EDITOR (window), spell_languages);
 		g_list_free (spell_languages);
+
+		shell_settings = e_shell_get_shell_settings (shell);
+
+		/* Express mode does not honor this setting. */
+		if (!e_shell_get_express_mode (shell))
+			active = e_shell_settings_get_boolean (
+				shell_settings, "composer-format-html");
+
+		gtkhtml_editor_set_html_mode (GTKHTML_EDITOR (window), active);
 	}
 
 	if (E_IS_MSG_COMPOSER (window)) {
diff --git a/modules/mail/em-composer-prefs.c b/modules/mail/em-composer-prefs.c
index 5746578..53a9888 100644
--- a/modules/mail/em-composer-prefs.c
+++ b/modules/mail/em-composer-prefs.c
@@ -398,10 +398,15 @@ em_composer_prefs_construct (EMComposerPrefs *prefs,
 	/* General tab */
 
 	/* Default Behavior */
+
+	/* Express mode does not honor this setting. */
 	widget = e_builder_get_widget (prefs->builder, "chkSendHTML");
-	e_mutual_binding_new (
-		shell_settings, "composer-format-html",
-		widget, "active");
+	if (e_shell_get_express_mode (shell))
+		gtk_widget_hide (widget);
+	else
+		e_mutual_binding_new (
+			shell_settings, "composer-format-html",
+			widget, "active");
 
 	widget = e_builder_get_widget (prefs->builder, "chkPromptEmptySubject");
 	e_mutual_binding_new (
@@ -517,9 +522,11 @@ em_composer_prefs_construct (EMComposerPrefs *prefs,
 		widget, "editor-created",
 		G_CALLBACK (e_shell_watch_window), shell);
 
-	e_binding_new (
-		shell_settings, "composer-format-html",
-		widget, "prefer-html");
+	/* Express mode does not honor this setting. */
+	if (!e_shell_get_express_mode (shell))
+		e_binding_new (
+			shell_settings, "composer-format-html",
+			widget, "prefer-html");
 
 #ifndef G_OS_WIN32
 	e_binding_new_with_negation (



[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]