Bug #522783 - Signature separator for HTML E-mails
Reapplied patch from bug #551470, as this got dropped on merging. Be sure you all also gconftool-2 --install-schema-file=$PREFIX/etc/gconf/schemas/evolution-mail.schemas as new key had been added.
This commit is contained in:
@ -63,8 +63,6 @@
|
||||
COMPOSER_GCONF_PREFIX "/request_receipt"
|
||||
#define COMPOSER_GCONF_TOP_SIGNATURE_KEY \
|
||||
COMPOSER_GCONF_PREFIX "/top_signature"
|
||||
#define COMPOSER_GCONF_NO_SIGNATURE_DELIM_KEY \
|
||||
COMPOSER_GCONF_PREFIX "/no_signature_delim"
|
||||
#define COMPOSER_GCONF_SEND_HTML_KEY \
|
||||
COMPOSER_GCONF_PREFIX "/send_html"
|
||||
#define COMPOSER_GCONF_SPELL_LANGUAGES_KEY \
|
||||
|
||||
@ -1210,6 +1210,18 @@ is_top_signature (EMsgComposer *composer)
|
||||
return e_shell_settings_get_boolean (shell_settings, "composer-top-signature");
|
||||
}
|
||||
|
||||
static gboolean
|
||||
add_signature_delim (void)
|
||||
{
|
||||
EShell *shell;
|
||||
EShellSettings *shell_settings;
|
||||
|
||||
shell = e_shell_get_default ();
|
||||
shell_settings = e_shell_get_shell_settings (shell);
|
||||
|
||||
return !e_shell_settings_get_boolean (shell_settings, "composer-no-signature-delim");
|
||||
}
|
||||
|
||||
#define CONVERT_SPACES CAMEL_MIME_FILTER_TOHTML_CONVERT_SPACES
|
||||
#define NO_SIGNATURE_TEXT \
|
||||
"<!--+GtkHTML:<DATA class=\"ClueFlow\" key=\"signature\" value=\"1\">-->" \
|
||||
@ -1221,7 +1233,7 @@ get_signature_html (EMsgComposer *composer)
|
||||
EComposerHeaderTable *table;
|
||||
gchar *text = NULL, *html = NULL;
|
||||
ESignature *signature;
|
||||
gboolean format_html;
|
||||
gboolean format_html, add_delim;
|
||||
|
||||
table = e_msg_composer_get_header_table (composer);
|
||||
signature = e_composer_header_table_get_signature (table);
|
||||
@ -1229,6 +1241,8 @@ get_signature_html (EMsgComposer *composer)
|
||||
if (!signature)
|
||||
return NULL;
|
||||
|
||||
add_delim = add_signature_delim ();
|
||||
|
||||
if (!e_signature_get_autogenerated (signature)) {
|
||||
const gchar *filename;
|
||||
|
||||
@ -1258,7 +1272,8 @@ get_signature_html (EMsgComposer *composer)
|
||||
name = id->name ? camel_text_to_html (id->name, CONVERT_SPACES, 0) : NULL;
|
||||
organization = id->organization ? camel_text_to_html (id->organization, CONVERT_SPACES, 0) : NULL;
|
||||
|
||||
text = g_strdup_printf ("-- <BR>%s%s%s%s%s%s%s%s",
|
||||
text = g_strdup_printf ("%s%s%s%s%s%s%s%s%s",
|
||||
add_delim ? "-- \n<BR>" : "",
|
||||
name ? name : "",
|
||||
(address && *address) ? " <<A HREF=\"mailto:" : "",
|
||||
address ? address : "",
|
||||
@ -1276,6 +1291,8 @@ get_signature_html (EMsgComposer *composer)
|
||||
/* printf ("text: %s\n", text); */
|
||||
if (text) {
|
||||
gchar *encoded_uid = NULL;
|
||||
const gchar *sig_delim = format_html ? "-- \n<BR>" : "-- \n";
|
||||
const gchar *sig_delim_ent = format_html ? "\n-- \n<BR>" : "\n-- \n";
|
||||
|
||||
if (signature)
|
||||
encoded_uid = encode_signature_uid (signature);
|
||||
@ -1291,7 +1308,7 @@ get_signature_html (EMsgComposer *composer)
|
||||
"%s</TD></TR></TABLE>",
|
||||
encoded_uid ? encoded_uid : "",
|
||||
format_html ? "" : "<PRE>\n",
|
||||
format_html || (!strncmp ("-- \n", text, 4) || strstr (text, "\n-- \n")) ? "" : "-- \n",
|
||||
!add_delim ? "" : (!strncmp (sig_delim, text, strlen (sig_delim)) || strstr (text, sig_delim_ent)) ? "" : sig_delim,
|
||||
text,
|
||||
format_html ? "" : "</PRE>\n",
|
||||
is_top_signature (composer) ? "<BR>" : "");
|
||||
|
||||
@ -247,6 +247,19 @@
|
||||
</locale>
|
||||
</schema>
|
||||
|
||||
<schema>
|
||||
<key>/schemas/apps/evolution/mail/composer/no_signature_delim</key>
|
||||
<applyto>/apps/evolution/mail/composer/no_signature_delim</applyto>
|
||||
<owner>evolution-mail</owner>
|
||||
<type>bool</type>
|
||||
<default>false</default>
|
||||
<locale name="C">
|
||||
<short>Do not add signature delimiter</short>
|
||||
<long>Set to TRUE in case you do not want to add signature delimiter
|
||||
before your signature when composing a mail.</long>
|
||||
</locale>
|
||||
</schema>
|
||||
|
||||
<schema>
|
||||
<key>/schemas/apps/evolution/mail/composer/width</key>
|
||||
<applyto>/apps/evolution/mail/composer/width</applyto>
|
||||
|
||||
@ -226,4 +226,8 @@ e_mail_shell_settings_init (EShell *shell)
|
||||
e_shell_settings_install_property_for_key (
|
||||
"composer-top-signature",
|
||||
"/apps/evolution/mail/composer/top_signature");
|
||||
|
||||
e_shell_settings_install_property_for_key (
|
||||
"composer-no-signature-delim",
|
||||
"/apps/evolution/mail/composer/no_signature_delim");
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user