[evolution/express2: 45/51] Express: Composer always defaults to HTML mode



commit 51a35cd8be6904a3bb477eccc544a186a66b541c
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 f239a28..308d7e8 100644
--- a/composer/e-msg-composer.c
+++ b/composer/e-msg-composer.c
@@ -1663,10 +1663,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 3d1cf2e..eabde51 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");
 
 	e_binding_new_with_negation (
 		shell_settings, "disable-command-line",



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